加载Spring MVC中的配置类

时间:2014-07-07 17:34:22

标签: java spring spring-mvc spring-java-config

我有一个Spring MVC应用程序,它有多个独立的模块,都有自己的JavaConfig @Configuration类。我的目标是加载战争中存在的所有弹簧配置。根据传递给构建命令的选项,某些模块和配置可能不存在,因此@Import不是一个选项,因为它会抛出ClassDefNotFound

在春季文档中说

  

@Configuration使用@Component进行元注释,因此@Configuration类是组件扫描的候选者(通常使用Spring XML的元素),因此也可以在字段和方法级别利用@Autowired / @Inject(但不是在构造函层级。)

     

@Configuration类不仅可以使用组件扫描进行自举,还可以使用@ComponentScan注释自行配置组件扫描:

但是主应用程序类入口点看起来像这样

@Configuration
@EnableWebMvc
@EnableAutoConfiguration
@ComponentScan(basePackages="com.svims.common.web.config")
public class Application extends WebMvcConfigurerAdapter {

    public static void main(String[] args) {
        SpringApplication.run(Application.class, args);
    }

}

还有另一个在@Configuration包中找不到com.svims.common.web.config注释的类,或者没有加载此配置中的bean。

我尝试将其添加到主应用程序类

@ComponentScan(basePackages="com.svims.common.web.config", 
    includeFilters = {@ComponentScan.Filter( Configuration.class ) })

要确保扫描配置为查找这些类型的类,但它仍然不起作用。

我只能假设Spring MVC引导以忽略这些配置但我在文档中找不到任何对此的引用。

有谁知道发生了什么事或有关如何做到这一点的任何建议?

1 个答案:

答案 0 :(得分:0)

请务必反复检查正在扫描的包裹。