springboot自动配置原理

springboot自动配置原理
XxxxAutoConfiguration类的含义是:自动配置类,目的是给容器中添加组件(将一些组件交由工厂管理)。
XxxxProperties类的含义是:属性类,封装配置文件中相关属性;

  1. springboot项目启动时会加载大量的自动配置类(配置类的作用是:将一些组件交由工厂管理,即给容器中添加组件。)
  2. 我们所要做的就是看我们需要的功能 springboot有没有帮我们写好自动配置类
  3. 如果有,我们就再来看这个自动配置类中到底配置了哪些组件(只要我们要用的组件有,我们就不需要再来配置了)
    如果没有我们所要的组件,我们需要自己写一个配置类把我们相应的组件配置起来
  4. 给容器中自动配置类添加组件时,会从属性类(即properties类)中读取某些属性,而这些属性我们就可以在配置文件指定这些属性的值。

简写:
springboot项目启动时会加载大量的自动配置类,自动配置类的作用是将一些核心组件交由工厂管理。配置类中会使用属性类进行属性的注入,而属性类又会读取配置文件中的配置。这便是springboot自动配置的流程。
所以,当使用springboot时只需要关注配置文件即可,因为配置类和属性类已经在启动器中包含了。

简析:
Spring Boot启动的时候会通过@EnableAutoConfiguration注解找到META-INF/spring.factories配置文件中的所有自动配置类,并对其进行加载,而这些自动配置类都是以AutoConfiguration结尾来命名的,它实际上就是一个JavaConfig形式的Spring容器配置类,它能通过以Properties结尾命名的类中取得在全局配置文件中配置的属性如:server.port,而XxxxProperties类是通过@ConfigurationProperties注解与全局配置文件中对应的属性进行绑定的。

相关参考:SpringBoot | 自动配置原理
相关参考:Spring Boot面试杀手锏————自动配置原理
相关参考:springboot自动配置以及原理分析