我使用基於Java的配置設置我的Spring應用程序上下文是這樣的:在配置中明確定義如何在Spring中使用@ComponentScan懶懶地加載所有bean?
@Configuration
@Lazy
@ComponentScan(basePackageClasses = {MyProject.class, OtherProject.class})
public class MyAppConfig {
...
}
豆被延遲加載的,像你期望的那樣。然而,用@Named
註釋的掃描類總是急切地加載。我該如何解決這個問題?
任何幫助表示讚賞。
注意,在MyProject
包中的類,我可以解決此通過@Lazy
註釋它們。但另一個項目對Spring沒有依賴性,我想保留它(因此@Named
而不是@Component
)。
還要注意,這不會在基於XML的配置中出現問題。在那裏,在<beans>
標籤接縫處設置default-lazy-init="true"
做我想做的事(雖然我沒有測試過)。
因此,嘗試加入少量'<豆默認延遲實例= 「true」/>'XML文件並留給Java配置。如果沒有辦法通過'@ Configuration'來做到這一點,請不要猶豫[提出問題](https://jira.springsource.org/secure/Dashboard.jspa)。 –
檢查此:http://static.springsource.org/spring/docs/3.0.x/javadoc-api/org/springframework/context/annotation/Lazy.html – Elbek
這裏有一個錯誤報告打開:https:// jira.spring.io/browse/SPR-10459 –