2014-06-19 20 views
0

注意:這個問題也出現在春季論壇(http://forum.spring.io/forum/spring-projects/container/748870-is-configuration-optional-for-javaconfig-classes),但我也鼓勵將這張貼在SOF上,因爲這些論壇即將被棄用,轉而贊成SOF。對於JavaConfig類,@Configuration是否可選?


我有一個Java類的問題,用於基於Java的Spring配置。 Spring文檔,JavaDoc以及其他博客和論壇的帖子都詳細記錄了這些類應該用@Configuration註釋。但是,我想知道的是,如果它實際上是強制性的,它們需要使用@Configuration進行註釋。

我正在用Spring編寫一個REST服務器。我能夠通過web.xml引用我的配置類,並且該類可以很好地設置我的Spring應用程序上下文,而無需使用@Configuration註釋該類。與我的測試代碼一樣:我的所有測試都使用@ContextConfiguration註釋,並且可以指向我的JavaConfig類(通過類屬性),即使沒有使用@Configuration註釋JavaConfig類也是如此。我還應該注意到,我的JavaConfig類通過@Import註釋從其他配置類繼承,而那些下游配置類也不用@Configuration註釋。

這一切都表明,我的問題是:是@Configuration真的只是一個可選的屬性?也許我們需要它,如果我們有一個XML上下文文件,它通過DI/autowiring找到@ Configuration-annotated類來用於Spring上下文配置。但對我來說情況並非如此;我不能自動拉入所有使用@Configuration註解的類,因爲我的服務器設置和測試設置都有單獨的配置。

可有人請確認有關@Configuration是否忠實地選購我的想法?如果是這樣,那麼這個事實不應該反映在Spring文檔或該註釋的JavaDoc中?謝謝。

+0

我覺得春天論壇上清楚地回答你的問題的工作。 – shazin

回答

0

如果明確是指每個配置類(使用web.xmlWebApplicationInitializer@ContextConfiguration<import>@Import)然後是,註釋似乎可選。

但是當你使用組件掃描,那麼你就可以輕鬆地添加與@Configuration進來註釋類,而不必從其他地方引用它們。 當你有很多配置要做時,這真的很方便。

另一個問題是,我敢肯定,如果你還沒有註釋的配置類@Configuration,然後@Conditional從彈簧4將無法正常

相關問題