Spring Boot: 开发web 应用 - 04 (Optional) Web MVC - Look Under The Hood

本文探讨了Spring Boot自动配置机制,重点介绍了如何通过依赖关系自动配置Spring应用程序。特别是通过@ConditionalOnClass和其他条件注解来实现有选择性的配置。

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

参考文章

Developing Web Application
Using Spring Boot Auto-configuration

Spring Boot 自动配置

Spring Boot自动配置尝试根据您添加的jar依赖关系自动配置您的Spring应用程序。大部分情况下,Spring Boot的 AutoConfiguration类会利用@ConditionalOnClass 或者其他的@ConditionalOn** 注解来有选择地配置你的应用。

比如: 在目前我们都还未加入security相关的依赖;SpringBootWebSecurityConfiguration 类实际已经引入, 但是@ConditionalOnClass({ EnableWebSecurity.class, AuthenticationEntryPoint.class }) 决定了security的依赖被引入之前SpringBootWebSecurityConfiguration 不会有任何作用。

#### WebMvcAutoConfiguration 类
此类作为webmvc的配置的集合点,下面的部分子类分别实现/扩展了spring-webmvc模块的类帮助SB(Spring Boot)Web 应用快速配置。
WebMvcAutoConfiguration

  1. WebMvcConfigurerAdapter 集合了大部分webmvc的配置;后面涉及到的时候我们会尝试定制。
  2. EnableWebMvcConfiguration @EnableWebMvc注解的替代
上一节的配置如何生效的

相关properties类: WebMvcProperties ResourceProperties

spring.mvc.static-path-pattern=/static/** 及spring.resources.cache-period=31536000 参考如下:
void org.springframework.boot.autoconfigure.web.WebMvcAutoConfiguration.WebMvcAutoConfigurationAdapter.addResourceHandlers(ResourceHandlerRegistry registry)
spring.resources.chain.* 的配置参考如下:
void org.springframework.boot.autoconfigure.web.WebMvcAutoConfiguration.ResourceChainResourceHandlerRegistrationCustomizer.configureResourceChain(Chain properties, ResourceChainRegistration chain)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值