SpringBoot自动配置的原理

SpringBoot通过WebMvcAutoConfiguration类进行Web功能的自动配置,配置生效依赖于引入的相关库。配置类使用条件注解如@ConditionalOnClass来决定生效条件。当引入springboot-starter-web,对应的Web配置会被自动应用,包括视图解析器、处理器适配器等。用户可自定义配置覆盖默认设置。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

以WebMvcAutoConfiguration自动配置的原理为例,SpringBoot内部对大量的第三方库或Spring内部库进行了默认配置,这些配置是否生效,取决于我们是否引入了对应库所需的依赖,如果有那么默认配置就会生效。如果引入springboot-starter-web那么对应的web配置就会自动配置。那么是如何自动配置的呢?

 

通过源码可以看到:@Configuration:声明这个类是一个配置类。

条件注解(Conditional Annotation):Spring Boot提供了一系列的条件注解,如@ConditionalOnClass@ConditionalOnMissingBean@ConditionalOnProperty等。(就是在某个条件下,满足项目的是什么类型)

(查源码)自动配置类(Auto-Configuration Class):自动配置类使用条件注解来标记自己的生效条件,并在满足条件时进行自动配置。每个自动配置类通常都对应一个特定的功能模块或库,并声明需要自动配置的Bean。对于一个web程序来说,类中还定义了视图解析器、处理器适配器(HandlerAdapter)

 

 

对于类中的这些属性,@EnableAutoConfiguration注解引入了两个属性:WebMvcProperties和ResourceProperties,点击源码查看属性类,里面有内部资源视图解析器的prefix和suffix属性等静态文件资源。

 

SpringBoot为我们提供了默认配置,而默认配置生效的条件,我们也可以自己配置,那么就会覆盖默认配置。

欢迎指正~~~

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值