我有一个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引导以忽略这些配置但我在文档中找不到任何对此的引用。
有谁知道发生了什么事或有关如何做到这一点的任何建议?
答案 0 :(得分:0)
请务必反复检查正在扫描的包裹。