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

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

也就是这个注解


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

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

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

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

我们进入loadFactoryNames方法内部:

继续进入loadSpringFactories方法内部:

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

打开这个文件我们发现

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

相关推荐
叫致寒吧18 小时前
Tomcat详解
java·tomcat
S***26751 天前
基于SpringBoot和Leaflet的行政区划地图掩膜效果实战
java·spring boot·后端
马剑威(威哥爱编程)1 天前
鸿蒙6开发视频播放器的屏幕方向适配问题
java·音视频·harmonyos
JIngJaneIL1 天前
社区互助|社区交易|基于springboot+vue的社区互助交易系统(源码+数据库+文档)
java·数据库·vue.js·spring boot·论文·毕设·社区互助
V***u4531 天前
MS SQL Server partition by 函数实战二 编排考场人员
java·服务器·开发语言
这是程序猿1 天前
基于java的ssm框架旅游在线平台
java·开发语言·spring boot·spring·旅游·旅游在线平台
i***t9191 天前
基于SpringBoot和PostGIS的云南与缅甸的千里边境线实战
java·spring boot·spring
k***08291 天前
【监控】spring actuator源码速读
java·spring boot·spring
麦麦鸡腿堡1 天前
Java_网络编程_InetAddress类与Socket类
java·服务器·网络
一 乐1 天前
应急知识学习|基于springboot+vue的应急知识学习系统(源码+数据库+文档)
数据库·vue.js·spring boot