大致过程
- 根据@SpringBootApplication注解找到spring.factories文件
- SpringBoot启动会加载大量的自动配置类(spring.factories里面)
- 我们看我们需要的功能有没有在SpringBoot默认写好的自动配置类当中;
- 我们在来看这个自动配置类中到底配置了哪些组件;(只要我们要用的组件存在在其中,我们就不需要在手动配置了)
- 给容器中自动配置类添加组件的时候,会从XXXproperties类中获取某些属性。我们只需要在配置文件中指定这些属性的值即可;
核心:
xxxAutoConfiguration:自动装配类: 给容器汇中添加组件
xxxProperties: 封装配置文件中相关属性(在xxxAutoConfiguration里被引用)
流程梳理
两大步:
一. 从@SpringBootApplication注解到 spring.factories
二. 从spring.factory到里面各种组件是怎么①实现自动装配,②属性的配置
第一步
看上面图片的流程
第二步
- 在spring.factories文件里
存放了很多自动配置的文件;这就是自动配置根源所在!
随便以一个xxxAutoConfiguration为例子
一句话总结 :根据当前不同的条件判断,决定这个配置类是否生效!如果生效,类的属性可以使用默认值,或者通过xxxProperties类在application.yaml等配置文件中进行配置。