SpringBoot自动配置的底层实现

SpringBoot的自动配置功能可以说是其最引以为傲的功能,下面为其底层实现原理

  • 之前用Spring、SpringMVC开发时,自己想要实现某些功能,比如Http解码、视图解析器、文件上传解析器等等,一般做法都是将某个组件注入容器中,也就是说,功能配置的核心就是将功能组件注入到IOC容器中,框架才会帮助我们实现相应的功能
  • 那么在SpringBoot实现自动配置的功能时,首先SpringBoot在加载时会自动载入所有开发环境下的自动配置类xxxAutoConfiguration
  • 在不同的开发环境中,会以条件来生效不同的配置类
  • 比如@ConditionOnClass如果容器中存在某些类那么就自动将某个配置类注入容器,SpringBoot底层多是以这种条件注入的方式来进行自动配置类的加载注入
  • 在配置文件中同样会以类似@ConditionOnMissing的方式来判断容器中是否已经存在某些组件,也就是说,如果用户已经将自定义的配置注入容器中,那么SpringBoot就会自动识别,以用户的配置为准
  • 在类中的属性大多都会绑定xxxProperties文件中的值,那么用户在使用时,就可以根据自己的需要,来更改SpringBoot核心配置文件application.properties中的值以达到更改功能的目的,这其实也就是我们更改配置文件的底层原理,这些配置信息在官网都能找得到官方文档

我们可以在配置文件中加入debug=true来检查项目运行时哪些自动配置文件的生效(Positive)和不生效(Negative)

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值