SpringBoot自动配置流程
2025-09-15 23:31:29 0 举报
SpringBoot自动配置流程
作者其他创作
大纲/内容
org.springframework.boot.autoconfigure.EnableAutoConfiguration
怎么读取的配置文件
AutoConfigurationImportSelector implements DeferredImportSelector
需要返回一个自定义的实现了DeferredImportSelector.Group的类
DeferredImportSelector工作原理
会以这个完整类为key做过滤,从loadSpringFactories中获取到的所有配置信息中过滤出所有的自动配置类
@Import({AutoConfigurationImportSelector.class})
N
2
factoryTypeName=org.springframework.boot.autoconfigure.EnableAutoConfiguration
@EnableAutoConfiguration启动自动配置,会自动扫描所有自动配置类,扫描到并且满足条件才会生效
this.getConfigurationClassFilter().filter(configurations)根据pom中添加的starter过滤出有效的配置类
过滤拿到需要的自动配置类
1
.getAutoConfigurationEntry(annotationMetadata)获取所有的自动配置类
这些类我们称之为“自动配置类”他们就是帮我们整合第三方库做的一些默认配置
factoryType.getName()
EnableAutoConfiguration.class
有没有实现getImportGroup方法
AutoConfigurationGroup.process
SpringBoot自动配置流程图
拿到所有的自动配置类
AutoConfigurationGroup.selectImports
loadFactoryNames()
selectImports()返回一个数组,将数组中的完整类名注册为bean
@SpringBootApplication入口
this.getSpringFactoriesLoaderFactoryClass()

收藏
0 条评论
下一页