springboot自动装配

  • 原理

    •   spring通过属性加载器将starter依赖包中META-INF目录下spring.factories文件里key=org.springframework.boot.autoconfigure.EnableAutoConfiguration对应value加载进来, 然后通过反射实例化并注入到spring容器中
    •  

       

  • 三大注解

    • @SpringBootConfiguration  :标识是一个spring配置类,内胆还是@Configuration注解。
    • @ComponentScan :组件扫描,比如扫描业务代码中定义的各种@Service、@Component、@Repository等。
    • @EnableAutoConfiguration:允许自动装配,核心是通过@Import引入AutoConfigurationImportSelector.class,加载各Starter包中META-INFO/spring.factories 文件配置的bean。
  • 源码

  •  

     

     

     最终还是执行spring的refresh()方法

  •  

     

     

     

  •  

     

     

     

     

     

     

     

     

     

     

     

     

     

     

  • 对应springboot三大注解

     

     

  •  

     

     

     

     

     

     

     

     

     

     目标文件

     

     

     

     

posted @ 2023-03-24 21:58  Katsu  阅读(47)  评论(0编辑  收藏  举报