以HttpEncodingAutoConfiguration(Http编码自动配置)为例学习自动配置原理
根据当前不同的条件判断,决定这个配置类是否生效。
- 一但这个配置类生效,这个配置类就会给容器中添加各种组件
- 这些组件的属性是从对应的properties类中获取的,这些类里面的每一个属性和配置文件是绑定的;
- 所有在配置文件中能配置的属性都在xxxxProperties类中封装着
- 配置文件能配置什么就可以参照某个功能对应的属性类
自动配置原理的精髓
1、springboot启动会加载大量的自动配置类
2、我们看我们需要的功能有没有在springboot默认写好的自动配置类当中
3、我们再来看这个自动配置类中到底配置了哪些组件
4、给容器中自动配置类添加组件的时候,会从properties类中获取某些属性
xxxxAutoConfigurartion:自动配置类;给容器中添加组件
xxxxProperties:封装配置文件中相关属性