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

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

也就是这个注解


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

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

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

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

我们进入loadFactoryNames方法内部:

继续进入loadSpringFactories方法内部:

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

打开这个文件我们发现

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

相关推荐
lhldsg2 分钟前
智慧场馆解决方案小程序开发实战:从架构设计到部署指南
java·小程序·uni-app
Freak嵌入式19 分钟前
Pico UART 数据收发实战:硬件配置、MicroPython 编程
java·开发语言·单片机·嵌入式硬件·生活
devilnumber1 小时前
Oracle 与 MySQL substr 函数差异总结
java·数据库·mysql·oracle
cfm_29141 小时前
线程池阻塞队列
java·开发语言
学代码的CJY1 小时前
Linux 重定向、管道与环境变量
linux·spring boot·spring
坐吃山猪2 小时前
【多线程】ThreadPool线程池参数说明
java·网络
evans在进步2 小时前
Java 常用设计模式(二):装饰器、适配器、责任链、模板方法、策略与观察者
java·开发语言·设计模式
jvmind_dev2 小时前
频繁 new JedisCluster 之后,对象池为什么回不去了?
java·后端
AKA__Zas3 小时前
文件 I/O(速通版
java·intellij-idea·学习方法
学长毕业设计3 小时前
基于SpringBoot的咖啡馆管理系统的设计与实现(源码+文档+讲解视频)
java·spring boot·后端