【发布时间】:2019-06-07 12:45:48
【问题描述】:
我有多个定义 bean 的 Spring @Configuration 类。我运行应用程序的主类有@SpringBootApplication(scanBasePackageClasses = BasePackage.class)。
我的问题,扫描这些组件和创建 bean 的顺序是什么?
@SpringBootApplication(scanBasePackageClasses = BasePackage.class)
public class MyApplication {
public static void main(final String[] args) {
SpringApplication.run(MyApplication.class, args);
}
}
和配置
@Configuration
class Config1{
// defines beans
}
@Configuration
class Config2{
// defines beans
}
另一个maven依赖也有Config3
@Configuration
class Config3{
// defines beans
}
我试图搜索文档,但我没有找到扫描和初始化这些组件的顺序。
更新
我问这个问题是因为我有一个具有 @ConditionalOnMissingBean 的 bean,以及定义它的多个配置。在官方文档中的声明中,@Configuration 类被扫描到了哪个顺序。
【问题讨论】:
-
虽然没有回答您的查询,但请注意:@Order.. 注释可用于控制加载顺序
-
同意,但是如果没有@Order,Spring如何定义顺序?
标签: java spring-boot