@SpringBootConfiguration、 @EnableAutoConfiguration、 @ComponentScan
1 、 @SpringBootConfiguration 里面主要有@Configuration 代表当前是一个配置类 2 、 @ComponentScan 指定扫描哪些,spring注解。 3 、 最重要:@EnableAutoConfiguration(核心) 合成注解:里面主要有: @AutoConfigurationPackage 自动配置包 、 @import(AutoConfigurationImportSelector.class)
@AutoConfigurationPackage : 里面有 @import(…) 给容器导入一个组件(Registrar)@import(AutoConfigurationImportSelector.class):1.利用Registrar给容器中导入一系列组件
2.将指定一个包下的所有组件导入进来: MainApplication所在包下。
1.利用getAutoConfigurationEntry(annotationMetedata)给容器中批量导入一些组件
2.调用List configurations = getAutoConfigurationEntry(annotationMetedata,attributes)获取到所有需要导入容器中的
3.利用工厂加载Map
> loadSpringFactories (@Nullable ClassLoader classLoader):得到所有的组件 4.从META-INF/spring.factories 位置来加载一个文件。默认扫描我们当前系统META-INF/spring.factories 位置的文件



