Guice沒有類似的概念。例如,Guice可以使用默認構造函數自動注入任何類,而不需要任何特殊的類註解。爲什麼spring在啓動時必須瞭解每個bean? 爲了自動裝配的目的,不能彈簧只從類路徑中查找類?我能想到的一個原因是AOP。但是如果你不使用AOP,整個bean定義計算會增加大量的啓動時間,這是完全不必要的。春天@Component有什麼用?
編輯:
明確,我想春天從classpath查找點播類
@Component
class Bar {
}
@Component
class Foo {
@Autowired Bar bar;
public void doSomething() {}
}
所以當我用getBean()
春天創建bean Foo
可以看到,它需要一個Bar
所以它可以簡單地在類路徑中查找Bar
。這是Guice所做的,它避免了在開發過程中非常緩慢的不必要的組件掃描。
謝謝,這回答我的問題,但我想要更多的東西:當需要一個類自動裝入另一個類時,Spring可以根據需要簡單地在classpath上查找類?這將消除組件掃描。我編輯我的問題是更具體。 – sha 2014-10-08 03:46:49