Spring自动配置原理

1. SpringBoot启动的时候加载主配置类,开启了自动配置功能@EnableAutoConfiguration
2. @EnableAutoConfiguration的作用: 收集所有spring.factories中EnableAutoConfiguration相关bean的类,并将得到的类注册到spring容器中。

–> AutoConfigurationImportSelector
–> selectImports.getAutoConfigurationEntry()
–>getCandidateConfigurations(annotationMetadata, attributes)
–> SpringFactoriesLoader.loadFactoryNames() 扫描所有jar包类路径下META-INF/spring.factories
–> getSpringFactoriesLoaderFactoryClass() 找以EnableAutoConfiguration标注的类

3. 探究HttpEncodingAutoConfiguration(Http编码自动配置)为例,解释自动配置原理
@Configuration(proxyBeanMethods = false) //表示这是一个配置类,跟以前编写的配置文件一样,也可以给容器中添加组件
@EnableConfigurationProperties(HttpProperties.class)//启动指定类的ConfigurationProperties功能;将配置文件中对应的值和HttpProperties绑定起来;并把HttpProperties加入到ioc容器中
@ConditionalOnWebApplication(type = ConditionalOnWebApplication.Type.SERVLET)//判断当前应用是否是web应用,如果是,当前配置类生效
@Con
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值