SpringBoot自动装配的原理

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

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

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

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

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

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

7.根据条件给咱们自动装配Bean方法

相关文章
相关标签/搜索