SpringBoot学习-part5入门之自动配置分析

主程序类

SpringBoot学习-part5入门之自动配置分析

注意这里的:@EnableAutoConfiguration

SpringBoot学习-part5入门之自动配置分析SpringBoot学习-part5入门之自动配置分析

SpringBoot学习-part5入门之自动配置分析
开启自动配置
SpringBoot学习-part5入门之自动配置分析
自动配置包注解,使用了Spring的底层注解import,向容器中,导入AutoConfigurationPackages.Registrar中定义的实例。
SpringBoot学习-part5入门之自动配置分析

SpringBoot学习-part5入门之自动配置分析metadata信息:
SpringBoot学习-part5入门之自动配置分析计算包名:
SpringBoot学习-part5入门之自动配置分析

@AutoConfigurationPackages作用:

将主配置类(@SpringBootApplication标注的类)的所在包及其下面子包里面的所有组件扫描到容器中!

SpringBoot学习-part5入门之自动配置分析

@EnableAutoConfigurationSelector

给容器中导入场景所需的所有组件,并配置这些组件

SpringBoot学习-part5入门之自动配置分析SpringBoot学习-part5入门之自动配置分析
过滤后的自动配置类
SpringBoot学习-part5入门之自动配置分析
这些配置类的源头是在哪获得的呢?

SpringBoot学习-part5入门之自动配置分析参数1:
SpringBoot学习-part5入门之自动配置分析

参数2:

SpringBoot学习-part5入门之自动配置分析

从META-INF/spring.factories加载properties配置文件:

SpringBoot学习-part5入门之自动配置分析

将加载的信息保存在cache中:

SpringBoot学习-part5入门之自动配置分析

maven管理的依赖文件中找到加载源-配置文件:

spring boot中的一些监听器、处理器、初始化器等:
SpringBoot学习-part5入门之自动配置分析
spring boot中的自动配置信息:

SpringBoot学习-part5入门之自动配置分析

总结:springboot启动时会从类路径下加载配置文件

其中包括自动配置类,@SpringBootApplication注解,自动帮我们将配置导入容器中,进行自动配置工作。