我有一个SpringBoot主应用程序,以及一个单独的Maven模块项目,它作为一个单独的Jar编译。该模块有一个带有@Configuration
注释的Spring配置类,我想在主应用程序加载时加载它。
显然,这不是开箱即用的(只需将模块包含在主应用程序中)。还需要做些什么,让主要应用程序加载模块配置类?
答案 0 :(得分:3)
最简单的方法是扫描@Configuration类所在的包。
@ComponentScan("com.acme.otherJar.config")
或者只是将它作为一个spring bean加载:
@Bean
public MyConfig myConfig() {
MyConfig myConfig = new MyConfig ();
return myConfig;
}
MyConfig就像:
@Configuration
public class MyConfig {
// various @Bean definitions ...
}
请参阅docs
答案 1 :(得分:2)
@ComponentScan批注将使用@Compoment或@Configuration批注扫描所有类。
然后spring ioc会将它们全部添加到spring控制的bean中。
如果只想添加特定的配置,则可以使用@import批注。
示例:
@Configuration
@Import(NameOfTheConfigurationYouWantToImport.class)
public class Config {
}