springboot自动配置原理

转自:https://zhuanlan.zhihu.com/p/80384308

配置文件能配置的属性参照

1、自动配置原理:

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

2)@EnableAutoConfiguration 作用:

利用EnableAutoConfigurationImportSelector给容器中导入一些组件

可以查看selectImports()方法的内容;

List configurations = getCandidateConfigurations(annotationMetadata, attributes);

获取候选的配置

SpringFactoriesLoader.loadFactoryNames()
扫描所有jar包类路径下 METAINF/spring.factories
把扫描到的这些文件的内容包装成properties对象
从properties中获取到EnableAutoConfiguration.class类类名对应的值然后把他们添加在容器中

将 类路径下 META-INF/spring.factories 里面配置的所有EnableAutoConfiguration的值加入到了容中;

原文地址:https://www.cnblogs.com/wanjun-top/p/14139073.html