手把手教你浅析SpringBoot自动配置原理
一、新建一个SpringBoot项目,在最开始的启动类进行源码分析
二、开始源码分析
点击该类的注解,如下图
得到了更多的注解,继续点击
看到了导入一个选择器,进入这个选择器
在选择器中找到了如下方法
该方法利用SpringFactoriesLoader.loadFactoryNames此静态方法获取了配置,我们进入这个方法
可知FACTORIES_RESOURCE_LOCATION应为自动配置文件所在的位置
指向这个地址我们找到它
如下所示,该文件包含了自动配置的很多文件,自动配置的根源所在
我们进入MVC配置文件看看
三、总结
由如上的分析可知,自动配置真正实现是从classpath中搜寻所有的META-INF/spring.factories配置文件 ,并将其中对应的 org.springframework.boot.autoconfigure. 包下的配置项,通过反射实例化为对应标注了 @Configuration的JavaConfig形式的IOC容器配置类 , 然后将这些都汇总成为一个实例并加载到IOC容器中。