20200304——Springboot 自动装配原理 二

pom.xml存放了核心依赖在父工程中

在资源里面已经自定义配置好了
20200304——Springboot 自动装配原理 二

启动器
20200304——Springboot 自动装配原理 二
启动器:就是Springboot的启动场景
比如spring-boot-starter-web 他就会帮我们自动导入web环境的依赖
springboot会将所有的功能场景,都变成一个个的启动器
我们要使用什么功能,只需要找到对应的启动器就可以了

主程序
只有一个注解和一个主函数

先看注解,标注这个注解是一个springboot的应用
run方法,将springboot类启动,通过反射

先看注解
20200304——Springboot 自动装配原理 二
ComponentScan 扫描包
所以核心是
20200304——Springboot 自动装配原理 二

SpringBootConfiguration
@Configuration 代理他是一个spring的配置类
@Component 说明是一个Spring的组件

EnableAutoConfiguration
自动配置
20200304——Springboot 自动装配原理 二
20200304——Springboot 自动装配原理 二
自动配置包
20200304——Springboot 自动装配原理 二
20200304——Springboot 自动装配原理 二
导入选择器
20200304——Springboot 自动装配原理 二

enableautoConfiguration下面还继续导入了
20200304——Springboot 自动装配原理 二
自动导入选择
20200304——Springboot 自动装配原理 二
20200304——Springboot 自动装配原理 二

结论
springboot所有的自动配置都是在启动的时候扫描并加载
spring.factories所有的自动配置类都在这里面
但不一定生效,判断条件是否成立,只要导入对应的start,就有对应的启动器了,有了启动器,自动装配就会生效

20200304——Springboot 自动装配原理 二