//
蓝色为项目启动后自动装配的步骤,红色为项目启动后run方法的执行步骤。
自动装配解释:
-
从@SpringBootApplication进入到@EnableAutoConfiguration中
-
在选择器类中,getCandidateConfigurations方法下的SpringFactoriesLoader类
-
SpringFactoriesLoader类下的loadSpringFactories方法
-
在这里明确指出会在启动时加载META-INF/spring.factories
得出springboot启动时会加载spring.factories中的大量自动配置类并加载进properties -
在spring.factories中进入一个自动配置类里面查看源码
-
这些自动配置类由@CondationalOnMissionBean等注解判断是否注入工厂
-
在application.yml中可以自定义相关配置
-
即只要在maven中导入相关依赖,spring.factories中可以通过判断注解将对应的自动配置类注入工厂,springboot就可以拿到配置类的属性,从而yml中就可以设置。属性和对应类的属性一一对应。