springboot源码分析--初始加载配置类

前言:我们上一个文章讨论了@AutoConfigurationPackage 注解。接下来我们讨论@Import({AutoConfigurationImportSelector.class}) 注解。

也就是这个注解


首先让我们进入这个注解,里面有一个方法 selectImports就是给给容器中批量导入一些组件的方法。

里面有一个方法selectImports就是给给容器中批量导入一些组件的方法。

getAutoConfigurationEntry方法里面的getCandidateConfigurations方法 导入候选配置信息。我们可以打断点来看看,到底加载了哪些候选配置信 息。

问题来了,这124项候选配置信息到底从何而来? 我们继续进入getCandidateConfigurations方法内部。

我们进入loadFactoryNames方法内部:

继续进入loadSpringFactories方法内部:

我们再去寻找这个spring.factories文件在哪里

打开这个文件我们发现

从22开始,一直到145行,我们发现不多不少,刚刚是124(145-22+1)项配 置信息。这样就把我们的配置类加载到项目当中了。查了挺多资料的,英语不太行。

相关推荐
JIngJaneIL6 分钟前
助农惠农服务平台|助农服务系统|基于SprinBoot+vue的助农服务系统(源码+数据库+文档)
java·前端·数据库·vue.js·论文·毕设·助农惠农服务平台
Mos_x10 分钟前
使用Docker构建Node.js应用的详细指南
java·后端
Spirit_NKlaus32 分钟前
Springboot自定义配置解密处理器
java·spring boot·后端
龙猫蓝图1 小时前
IDEA新UI设置
java
梅梅绵绵冰1 小时前
SpringAOP的相关概念
java·开发语言
Xiaoyu Wang1 小时前
GC垃圾回收
java·开发语言·jvm
CodeBlossom1 小时前
Spring Cache快速入门
java·数据库·spring
麦烤楽鸡翅1 小时前
挡住洪水 (牛客)
java·数据结构·c++·python·算法·bfs·牛客
bigdata-rookie1 小时前
JVM 垃圾收集器介绍
java·jvm·算法
⑩-1 小时前
如何保证Redis和Mysql数据缓存一致性?
java·数据库·redis·mysql·spring·缓存·java-ee