如何从单独的JAR加载@Configuration类

时间:2015-05-16 07:29:23

标签: java spring spring-boot

我有一个SpringBoot主应用程序,以及一个单独的Maven模块项目,它作为一个单独的Jar编译。该模块有一个带有@Configuration注释的Spring配置类,我想在主应用程序加载时加载它。

显然,这不是开箱即用的(只需将模块包含在主应用程序中)。还需要做些什么,让主要应用程序加载模块配置类?

2 个答案:

答案 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 {

}

@Import Annotation Doc