项目启动引导类有一个Springboot核心注解@SpringBootApplication注解,里面包含三个注解:
@SpringBootConfiguration:配置类注解,启动类本身也是一个配置类
@ComponentScan:组件扫描注解,没有写包,默认扫描引导类所在的包及其子包
@EnableAutoConfiguration:实现Springboot自动配置的核心注解,注解中包含@Import注解,导入了AutoConfigurationImportSelector.class,AutoConfigurationImportSelector类实现了ImportSelector接口selectImports方法,方法的作用是根据不同的Springboot版本加载对应的全类名,加载进内存,全部交给Spring容器反射,创建Bean并进行管理:2.7以前的版本回加载META-INF/spring/spring.factories中的key,2.7以后的版本回家再META-INF/AutoConfiguration.import