SpringBoot 自动配置原理
2021-06-07 09:43:32 0 举报
SpringBoot 自动配置的原理
作者其他创作
大纲/内容
loadMetadata() 方法将所有jar 包中的 META-INF/spring-autoconfigure-metadata.properties文件加载并解析,也就将自动配置类的元数据加载进内存了
AutoConfigurationGroup
处理从配置文件中解析出来的自动配置类
processImports()
1.1.1.1.2 processImports()
1.1 parse()
DeferredImportSelectorGroupingHandler
1.2.2.1.1.2 deferredImportSelector.getAutoConfigurationEntry()
loadMetadata()
1.2 this.deferredImportSelectorHandler.process()
SpringFactoriesLoader.loadFactoryNames()
获取 @Import 配置的类
getCandidateConfigurations()
DeferredImportSelectorHandler
loadSpringFactories() 将所有 jar 包中的 META-INF/spring.factories 文件加载并解析,也就将文件中的自动配置类名加载进内存
@Import(AutoConfigurationImportSelector.class)
1.2.2.1.1.1 getAutoConfigurationMetadata()
1.1.1.1.1 getImports()
1.1.1.1 doProcessConfigurationClass()
ConfigurationClassParser
1.1.1.1.2.1 this.deferredImportSelectorHandler.handle()
1.2.1 handler::register
processConfigurationClass()
1.2.2.1.1 this.group.process()
loadSpringFactories()
DeferredImportSelectorGrouping
AutoConfigurationImportSelector
AutoConfigurationMetadataLoader
@EnableAutoConfiguration
AutoConfigurationMetadataLoader.loadMetadata()
SpringFactoriesLoader
1.2.2 handler.processGroupImports()
1. parse()
1.2.2.1 grouping.getImports()
1.1.1 processConfigurationClass()
0 条评论
下一页