2014-06-19 19 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将无法正常

相关问题