springboot 自动的配置的原理(1.5版本)

本文详细解析了Spring Boot的@SpringBootApplication注解背后的自动配置机制。通过@EnableAutoConfiguration,Spring Boot加载META-INF/spring.factories文件中指定的配置,实现应用的自动化配置。在启动过程中,自动配置选择器获取候选配置并加载到容器中,简化了传统Spring的配置过程。

1.@SpringBootApplication注解的原理

2.里面含有@EnableAutoConfiguration(启用自动配置)-->@Import(EnableAutoConfigurationImportSelector.class)

3.EnableAutoConfigurationImportSelector(启用自动配置导入选择器)继承父类AutoConfigurationImportSelector(自动配置导入选择器

4.父类里有个方法selectImports()(选择导入)返回值是configurations(配置

5.获取configurations的方法List<String> configurations = getCandidateConfigurations(获取候选配置)(annotationMetadata,attributes);

6.这getCandidateConfigurations()方法里有一个List<String> configurations = SpringFactoriesLoader.loadFactoryNames( getSpringFactoriesLoaderFactoryClass(), getBeanClassLoader());   

7.这个loadFactoryNames(装货工厂名称)()方法里有一个获取urls的方法,getResources()

Enumeration<URL> urls = (classLoader != null ? classLoader.getResources(FACTORIES_RESOURCE_LOCATION) :
      ClassLoader.getSystemResources(FACTORIES_RESOURCE_LOCATION));

8.这个属性FACTORIES_RESOURCE_LOCATION(工厂\资源\位置)的值为:META-INF/spring.factories

即这个自动配置加载的url都是来自META-INF/spring.factories里EnableAutoConfiguration配置下的所有值

9.然后就是遍历获取对应的配置名。然后把他们添加在容器中

10.这就是自动配置的原理。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

追逐路上的小人物

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值