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

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

也就是这个注解


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

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

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

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

我们进入loadFactoryNames方法内部:

继续进入loadSpringFactories方法内部:

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

打开这个文件我们发现

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

相关推荐
bjxiaxueliang7 小时前
一文掌握SpringBoot:HTTP服务开发从入门到部署
spring boot·后端·http
饺子大魔王的男人7 小时前
Remote JVM Debug+cpolar 让 Java 远程调试超丝滑
java·开发语言·jvm
Hx_Ma1614 小时前
SpringMVC框架提供的转发和重定向
java·开发语言·servlet
期待のcode15 小时前
原子操作类LongAdder
java·开发语言
舟舟亢亢15 小时前
Java集合笔记总结
java·笔记
小酒窝.16 小时前
【多线程】多线程打印ABC
java
乡野码圣16 小时前
【RK3588 Android12】RCU机制
java·jvm·数据库
JAVA+C语言16 小时前
如何优化 Java 多主机通信的性能?
java·开发语言·php
编程彩机17 小时前
互联网大厂Java面试:从分布式架构到大数据场景解析
java·大数据·微服务·spark·kafka·分布式事务·分布式架构
小酒窝.18 小时前
【多线程】多线程打印1~100
java·多线程