版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/xiaozhegaa/article/details/82912533
目录
SpringBoot自动装配的原理
一、自动装配原理
1、SpringAlication.run(Application.class);执行流程中有
refreshContext(context);这句话
2、refreshContext(context);内部会解析我们配置类上的标签,实现自动装配功能的注解@EnableAutoConfiguration
3、会解析@EnableAutoConfiguration这个注解里面的@Import引入配置类AutoConfigurationImportSelector
4、AutoConfigurationImportSelector这个类中有这个方法:
SpringFactoriesLoader.loadFactoryNames(getSpringFactoriesLoaderFactoryClass(),getBeanClassLoader());
5、SpringFactoriesLoader.loadFactoryNames的作用就是读取jar包中的/项目中的MERA-INF/spring-factories文件
6、spring.factories配置了自动装配的类,比如DruiDataSourceAutoConifgure
7、根据条件给我们自动装配Bean