XxxxAutoConfiguration类的含义是:自动配置类,目的是给容器中添加组件(将一些组件交由工厂管理)。
XxxxProperties类的含义是:属性类,封装配置文件中相关属性;
- springboot项目启动时会加载大量的自动配置类(配置类的作用是:将一些组件交由工厂管理,即给容器中添加组件。)
- 我们所要做的就是看我们需要的功能 springboot有没有帮我们写好自动配置类
- 如果有,我们就再来看这个自动配置类中到底配置了哪些组件(只要我们要用的组件有,我们就不需要再来配置了)
如果没有我们所要的组件,我们需要自己写一个配置类把我们相应的组件配置起来 - 给容器中自动配置类添加组件时,会从属性类(即properties类)中读取某些属性,而这些属性我们就可以在配置文件指定这些属性的值。
简写:
springboot项目启动时会加载大量的自动配置类,自动配置类的作用是将一些核心组件交由工厂管理。配置类中会使用属性类进行属性的注入,而属性类又会读取配置文件中的配置。这便是springboot自动配置的流程。
所以,当使用springboot时只需要关注配置文件即可,因为配置类和属性类已经在启动器中包含了。
简析:
Spring Boot启动的时候会通过@EnableAutoConfiguration注解找到META-INF/spring.factories配置文件中的所有自动配置类,并对其进行加载,而这些自动配置类都是以AutoConfiguration结尾来命名的,它实际上就是一个JavaConfig形式的Spring容器配置类,它能通过以Properties结尾命名的类中取得在全局配置文件中配置的属性如:server.port,而XxxxProperties类是通过@ConfigurationProperties注解与全局配置文件中对应的属性进行绑定的。
相关参考:SpringBoot | 自动配置原理
相关参考:Spring Boot面试杀手锏————自动配置原理
相关参考:springboot自动配置以及原理分析