Spring Boot 自动配置原理再探

在这里插入图片描述
看了狂神和雷神,我觉得这个自动配置的原理,就是一个属性找值的过程。(即标注了EnableAutoConfiguration注解的类找properties的过程)
第一点:properties从 META-INF/spring.factories 获得,所有的配置文件都在这里,所以要扫描所有jar包类路径下的这个文件夹,将META-INF/spring.factories 中的内容封装为properties。
第二点:要往IOC容器中导入哪些组件是需要用AutoConfigurationImportSelector自动导入选择器进行选择的。
第三点:自动导入选择器需要getCandidateConfigurations:获取候选的配置,SpringFactoriesLoader.loadFactoryNames(this.getSpringFactoriesLoaderFactoryClass(), this.getBeanClassLoader());这些就是调用loadFactoryNames然后参数为标注了EnableAutoConfiguration注解的类,然后在封装好的properties中获取与这些类对应的值。这样就完成了自动配置的原理。
第四点:每一个***AutoConfiguration 类都是容器中的一个组件,都加入到容器中,用他们来做自动配置。
第五点:每一个自动配置类进行自动配置功能,

以HttpEncodingAutoConfiguration(Http编码自动配置)为例解释在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

精髓:

1、SpringBoot启动会加载大量的自动配置类
2、我们看我们需要的功能有没有SpringBoot默认写好的自动配置类
3、我们再看这个自动配置类中到底配置了那些组件(只要有我们要用到的组件,我们就可以在配置文件中指定这些属性的值)
4、给容器中自动配置类添加组件的时候,会从properties类中获取某些属性,我们就可以在配置文件中指定这些属性的值。

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值