手把手教你浅析SpringBoot自动配置原理

一、新建一个SpringBoot项目,在最开始的启动类进行源码分析

二、开始源码分析

点击该类的注解,如下图

得到了更多的注解,继续点击

看到了导入一个选择器,进入这个选择器

在选择器中找到了如下方法


该方法利用SpringFactoriesLoader.loadFactoryNames此静态方法获取了配置,我们进入这个方法

可知FACTORIES_RESOURCE_LOCATION应为自动配置文件所在的位置

指向这个地址我们找到它

如下所示,该文件包含了自动配置的很多文件,自动配置的根源所在

我们进入MVC配置文件看看

三、总结

由如上的分析可知,自动配置真正实现是从classpath中搜寻所有的META-INF/spring.factories配置文件 ,并将其中对应的 org.springframework.boot.autoconfigure. 包下的配置项,通过反射实例化为对应标注了 @Configuration的JavaConfig形式的IOC容器配置类 , 然后将这些都汇总成为一个实例并加载到IOC容器中。

posted @ 2020-10-24 19:30  herrhu  阅读(168)  评论(0)    收藏  举报