SpringBoot Bean初始化顺序
前言
SpringBoot Bean的初始化有很多种方式,那么谁先加载谁后加载,有时候十分困惑。
结论
经过实验,在Bean没有任何依赖的情况下,按照以下顺序执行:
- 本jar包中直接被包扫描路径包含的被@Component注解的Bean(包含该注解的子类,比如@Service @Controller @Configuration等等)
- 依赖jar包中通过spring.factories里面自动装配类上标记了包扫描路径的所有@Component注解的Bean
- 本jar包中通过spring.factories里面自动装配类上标记了包扫描路径的所有@Component注解的Bean
- 本jar包中被@Configuration类中创建的@Bean注解对象
- 依赖jar包中通过spring.factories装配的@Bean
- 本jar包中通过spring.factories装配的@Bean