SpringBoot自动配置流程
2025-09-15 23:31:29   1  举报             
     
         
 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 条评论
 下一页
  
  
  
  
  
  
  
  
  
 