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

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

也就是这个注解


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

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

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

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

我们进入loadFactoryNames方法内部:

继续进入loadSpringFactories方法内部:

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

打开这个文件我们发现

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

相关推荐
愿你天黑有灯下雨有伞1 小时前
告别复杂配置!Spring Boot优雅集成百度OCR的终极方案
spring boot·百度·ocr
我命由我123453 小时前
Kotlin 数据容器 - List(List 概述、创建 List、List 核心特性、List 元素访问、List 遍历)
java·开发语言·jvm·windows·java-ee·kotlin·list
武子康5 小时前
Java-80 深入浅出 RPC Dubbo 动态服务降级:从雪崩防护到配置中心秒级生效
java·分布式·后端·spring·微服务·rpc·dubbo
YuTaoShao7 小时前
【LeetCode 热题 100】131. 分割回文串——回溯
java·算法·leetcode·深度优先
源码_V_saaskw8 小时前
JAVA图文短视频交友+自营商城系统源码支持小程序+Android+IOS+H5
java·微信小程序·小程序·uni-app·音视频·交友
超浪的晨8 小时前
Java UDP 通信详解:从基础到实战,彻底掌握无连接网络编程
java·开发语言·后端·学习·个人开发
双力臂4049 小时前
Spring Boot 单元测试进阶:JUnit5 + Mock测试与切片测试实战及覆盖率报告生成
java·spring boot·后端·单元测试
Edingbrugh.南空9 小时前
Aerospike与Redis深度对比:从架构到性能的全方位解析
java·开发语言·spring
QQ_43766431410 小时前
C++11 右值引用 Lambda 表达式
java·开发语言·c++
永卿00110 小时前
设计模式-迭代器模式
java·设计模式·迭代器模式