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

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

也就是这个注解


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

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

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

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

我们进入loadFactoryNames方法内部:

继续进入loadSpringFactories方法内部:

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

打开这个文件我们发现

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

相关推荐
码路飞11 分钟前
不装 OpenClaw,我用 30 行 Python 搞了个 QQ AI 机器人
java
Re_zero18 分钟前
以为用了 try-with-resources 就稳了?这三个底层漏洞让TCP双向通讯直接卡死
java·后端
SimonKing31 分钟前
Fiddler抓包完全指南:从安装配置到抓包,一文讲透
java·后端·程序员
磊磊落落2 小时前
如何将 Spring Statemachine 作为一个轻量级工作流引擎来使用?
java
兆子龙16 小时前
ahooks useRequest 深度解析:一个 Hook 搞定所有请求
java·javascript
兆子龙16 小时前
React Suspense 从入门到实战:让异步加载更优雅
java·javascript
咕白m62518 小时前
Java 实现 Excel 转 HTML:完整示例
java
RealPluto19 小时前
Spring AOP 失效排查
java·spring
码路飞19 小时前
热榜全是 OpenClaw,但我用 50 行 Python 就造了个桌面 AI Agent 🤖
java·javascript