Spring Boot自动配置原理

Spring Boot自动配置原理

1.SpringBoot启动的时候加载主配置类,开启了自动配置功能@EnableAutoConfiguration。

Spring Boot自动配置原理

[email protected]的作用是利用AutoConfigurationImportSelector给容器中导入一些组件。

Spring Boot自动配置原理

3.可以查看selectImports这个方法里面的内容

Spring Boot自动配置原理

4.通过SpringFactoriesLoader获取候选的配置,这个是扫描所有jar包类路径下"META-INF/spring.factories";
Spring Boot自动配置原理
点进去SpringFactoriesLoader这个方法

Spring Boot自动配置原理
Spring Boot自动配置原理

5.然后把扫描到的这些文件包装成Properties对象。

Spring Boot自动配置原理

6.从properties中获取到EnableAutoConfiguration.class类名对应的值,然后把他们添加在容器中。
Spring Boot自动配置原理

7.整个过程就是将类路径下"META-INF/spring.factories"里面配置的所有EnableAutoConfiguration的值加入到容器中。