SpringBoot的启动过程是怎么样的?
@SpringBootConfiguration
- @SpringBootConfiguration是一个复合注解包括了下面几个注解等相关信息
1,@Configuration
- @Configuration的注解标识这个类可以使用Spring Ioc容器作为bean定义的来源
2,@ComponentScan
- @ComponentScan的功能就是自动扫描并加载符合条件的组件或者bean定义,最终将这些bean定义加载到Ioc容器中
3,@EnableAutoConfiguration
- @EnableAutoConfiguration会根据类路径中的jar依赖为项目进行自动配置
- @EnableAutoConfiguration作为一个复合注解,其中最关键的属@Import({AutoConfigurationImportSelector.class}),AutoConfigurationImportSelector可以帮助SpringBoot应用将所有符合条件的@Configuration配置都加载到当前SpringBoot创建并使用的Ioc容器中
4,@AutoConfigurationPackage
5,@Import
6,AutoConfigurationImportSelector.class
7,SpringFactoriesLoader
- SpringFactoriesLoader属于Spring框架私有的一种扩展方案,其主要功能就是从知道的配置文件META-INF/spring.facitories加载配置