SpringBoot自动配置的源码解析
首先,写源码分析真的很花时间,所以希望大家转的时候也请注明一下,Thanks♪(・ω・)ノ
SpringBoot最大的好处就是对于很多框架都默认的配置,让我们开发的时候不必为了大一堆的配置文件头疼,关于Spring boot的配置类在哪里,怎么看,我在https://www.cnblogs.com/yangfeiORfeiyang/p/9356981.html这篇博客里已经写了,这里就不再赘述,我们就直接看看它是怎么注册这些配置的吧
首先,因为Spring boot我们点进@EnableAutoConfiguration这个注解
可以看到它在被扫描到后后自动加载一个类我们点进这个类看看
直接看下这个方法
AutoConfigurationMetadata autoConfigurationMetadata = AutoConfigurationMetadataLoader.loadMetadata(this.beanClassLoader);
可以看到,它将将一个文件里的内容读取为Properties,然后遍历使用类加载器进行加载,我们看看文件里是什么内容
这就是各个框架的配置类
在读取完成之后,它将Properties放进了内部类的属性里,我们再会到之前的类里
可以看到,在这里将配置的信息进行了一个过滤,将我们使用exclude排除掉的一些自动配置类给去掉,并返回了一个String数组
之后被遍历放到了这个缓存中