SpringBoot自动装配的原理


1.SpringApplication.run(AppConfig.class,args);执行流程中有refreshContext(context);这句话.

2.refreshContext(context);内部会解析我们的配置类上的标签.实现自动装配功能的注解@EnableAutoConfiguration

3.会解析@EnableAutoConfiguration这个注解里面的@Import引入的配置类.AutoConfigurationImportSelector

4.AutoConfigurationImportSelector这个类中有这个方法.SpringFactoriesLoader.loadFactoryNames(getSpringFactoriesLoaderFactoryClass(), getBeanClassLoader());

5.SpringFactoriesLoader.loadFactoryNames的作用就是读取jar包中的/项目中的META-INF/spring.factories文件.

6.spring.factories配置了自动装配的类.比如:com.alibaba.druid.spring.boot.autoconfigure.DruidDataSourceAutoConfigure

7.根据条件给我们自动装配Bean


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM