SpringBoot自动装配
2021-10-13 11:36:21   20  举报             
     
         
 AI智能生成
  SpringBoot自动装配流程
    作者其他创作
 大纲/内容
  @SpringBootApplication    
     @SpringBootConfiguration:@Configuration @Component  
     @EnableAutoConfiguration:自动导入包    
     @AutoConfigurationPackage    
     @Import({Registrar.class}):自动注册包  
     @Import({AutoConfigurationImportSelector.class}):自动导入包的核心    
     AutoConfigurationImportSelector.class:自动导入选择器    
     getAutoConfigurationEntry():获得自动配置的实体  
     getCandidateConfigurations():获取候选的配置    
     protected Class<?> getSpringFactoriesLoaderFactoryClass() {
return EnableAutoConfiguration.class;
}//标注了EnableAutoConfiguration注解的类
    return EnableAutoConfiguration.class;
}//标注了EnableAutoConfiguration注解的类
 loadFactoryNames():获取所有的配置名  
     loadSpringFactories():    
     项目资源:Enumeration urls = classLoader.getResources("META-INF/spring.factories");从这里获取配置文件  
     从这些资源中遍历了所有的NextElement(自动配置),遍历完成之后,封装为Properties供我们使用    
     spring-boot-autoconfigure-2.4.5.jar    
     META-INF/Spring.factories:所有的配置类都在这    
     核心注解:@ConditionalOnXXX 如果这里面条件都满足才生效  
     @ComponentScan:扫描当前主启动类同级的包  
     SpringBoot所有的自动配置都是在启动的时候启动并加载:spring.factories所有的自动配置类都在这里面,但是不一定会生效,要判断条件是否成立,只要导入对应的start,就有对应的启动器了,有了启动器,我们就能实现自动装配,然后就配置成功  
    
 
 
 
 
  0 条评论
 下一页
  
   
   
   
   
  
  
  
  
  
  
  
  
  
  
 