云计算百科
云计算领域专业知识百科平台

SpringBoot整合SpringMVC全解析

Spring Boot 与 Spring MVC 的整合本质上是自动完成的,因为 Spring Boot 默认内嵌了对 Spring MVC 的支持。以下是关键要点:


核心机制:自动配置

Spring Boot 通过 spring-boot-starter-web 依赖自动配置 Spring MVC 的核心组件:

<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>

http://my.tv.sohu.com/us/441086388/698948813.shtml https://tv.sohu.com/v/dXMvNDQxMDg2Mzg4LzY5ODk0ODgxMy5zaHRtbA==.html http://my.tv.sohu.com/us/441086388/698948923.shtml https://tv.sohu.com/v/dXMvNDQxMDg2Mzg4LzY5ODk0ODkyMy5zaHRtbA==.html http://my.tv.sohu.com/us/441086388/698948929.shtml https://tv.sohu.com/v/dXMvNDQxMDg2Mzg4LzY5ODk0ODkyOS5zaHRtbA==.html http://my.tv.sohu.com/us/441086388/698948934.shtml https://tv.sohu.com/v/dXMvNDQxMDg2Mzg4LzY5ODk0ODkzNC5zaHRtbA==.html http://my.tv.sohu.com/us/441086388/698948938.shtml https://tv.sohu.com/v/dXMvNDQxMDg2Mzg4LzY5ODk0ODkzOC5zaHRtbA==.html http://my.tv.sohu.com/us/441086388/698948944.shtml https://tv.sohu.com/v/dXMvNDQxMDg2Mzg4LzY5ODk0ODk0NC5zaHRtbA==.html http://my.tv.sohu.com/us/441086388/698948854.shtml https://tv.sohu.com/v/dXMvNDQxMDg2Mzg4LzY5ODk0ODg1NC5zaHRtbA==.html http://my.tv.sohu.com/us/441086388/698948723.shtml https://tv.sohu.com/v/dXMvNDQxMDg2Mzg4LzY5ODk0ODcyMy5zaHRtbA==.html http://my.tv.sohu.com/us/441086388/698948869.shtml https://tv.sohu.com/v/dXMvNDQxMDg2Mzg4LzY5ODk0ODg2OS5zaHRtbA==.html http://my.tv.sohu.com/us/441086388/698948668.shtml https://tv.sohu.com/v/dXMvNDQxMDg2Mzg4LzY5ODk0ODY2OC5zaHRtbA==.html http://my.tv.sohu.com/us/441086388/698949115.shtml https://tv.sohu.com/v/dXMvNDQxMDg2Mzg4LzY5ODk0OTExNS5zaHRtbA==.html http://my.tv.sohu.com/us/441086388/698948785.shtml https://tv.sohu.com/v/dXMvNDQxMDg2Mzg4LzY5ODk0ODc4NS5zaHRtbA==.html http://my.tv.sohu.com/us/441086388/698949056.shtml https://tv.sohu.com/v/dXMvNDQxMDg2Mzg4LzY5ODk0OTA1Ni5zaHRtbA==.html http://my.tv.sohu.com/us/441086388/698949249.shtml https://tv.sohu.com/v/dXMvNDQxMDg2Mzg4LzY5ODk0OTI0OS5zaHRtbA==.html http://my.tv.sohu.com/us/441086388/698949068.shtml https://tv.sohu.com/v/dXMvNDQxMDg2Mzg4LzY5ODk0OTA2OC5zaHRtbA==.html http://my.tv.sohu.com/us/441086388/698949071.shtml https://tv.sohu.com/v/dXMvNDQxMDg2Mzg4LzY5ODk0OTA3MS5zaHRtbA==.html http://my.tv.sohu.com/us/441086388/698949262.shtml https://tv.sohu.com/v/dXMvNDQxMDg2Mzg4LzY5ODk0OTI2Mi5zaHRtbA==.html http://my.tv.sohu.com/us/441086388/698949271.shtml https://tv.sohu.com/v/dXMvNDQxMDg2Mzg4LzY5ODk0OTI3MS5zaHRtbA==.html http://my.tv.sohu.com/us/441086388/698949173.shtml https://tv.sohu.com/v/dXMvNDQxMDg2Mzg4LzY5ODk0OTE3My5zaHRtbA==.html http://my.tv.sohu.com/us/441086388/698949276.shtml https://tv.sohu.com/v/dXMvNDQxMDg2Mzg4LzY5ODk0OTI3Ni5zaHRtbA==.html http://my.tv.sohu.com/us/441086388/698949502.shtml https://tv.sohu.com/v/dXMvNDQxMDg2Mzg4LzY5ODk0OTUwMi5zaHRtbA==.html http://my.tv.sohu.com/us/441086388/698949434.shtml https://tv.sohu.com/v/dXMvNDQxMDg2Mzg4LzY5ODk0OTQzNC5zaHRtbA==.html http://my.tv.sohu.com/us/441086388/698949630.shtml https://tv.sohu.com/v/dXMvNDQxMDg2Mzg4LzY5ODk0OTYzMC5zaHRtbA==.html http://my.tv.sohu.com/us/441086388/698949388.shtml https://tv.sohu.com/v/dXMvNDQxMDg2Mzg4LzY5ODk0OTM4OC5zaHRtbA==.html http://my.tv.sohu.com/us/441086388/698949642.shtml https://tv.sohu.com/v/dXMvNDQxMDg2Mzg4LzY5ODk0OTY0Mi5zaHRtbA==.html http://my.tv.sohu.com/us/441086388/698949646.shtml https://tv.sohu.com/v/dXMvNDQxMDg2Mzg4LzY5ODk0OTY0Ni5zaHRtbA==.html http://my.tv.sohu.com/us/441086388/698949458.shtml https://tv.sohu.com/v/dXMvNDQxMDg2Mzg4LzY5ODk0OTQ1OC5zaHRtbA==.html http://my.tv.sohu.com/us/441086388/698949462.shtml https://tv.sohu.com/v/dXMvNDQxMDg2Mzg4LzY5ODk0OTQ2Mi5zaHRtbA==.html http://my.tv.sohu.com/us/441086388/698949468.shtml https://tv.sohu.com/v/dXMvNDQxMDg2Mzg4LzY5ODk0OTQ2OC5zaHRtbA==.html http://my.tv.sohu.com/us/441086388/698949719.shtml https://tv.sohu.com/v/dXMvNDQxMDg2Mzg4LzY5ODk0OTcxOS5zaHRtbA==.html  

此依赖包含:

  • DispatcherServlet(自动注册)
  • 默认视图解析器
  • 静态资源处理(如 /static/**)
  • 消息转换器(如 JSON 支持)

自定义配置(可选)

若需覆盖默认行为,可通过以下方式:

1. 配置类继承 WebMvcConfigurer

@Configuration
public class WebConfig implements WebMvcConfigurer {

// 注册拦截器
@Override
public void addInterceptors(InterceptorRegistry registry) {
registry.addInterceptor(new AuthInterceptor());
}

// 自定义视图解析
@Override
public void configureViewResolvers(ViewResolverRegistry registry) {
registry.jsp("/WEB-INF/views/", ".jsp");
}
}

2. 配置文件修改参数

在 application.yml 中调整默认值:

spring:
mvc:
static-path-pattern: /resources/** # 修改静态资源路径
view:
prefix: /templates/
suffix: .html


控制器示例

Spring MVC 的 @Controller 可直接使用:

@RestController
@RequestMapping("/api")
public class UserController {

@GetMapping("/users")
public List<User> getUsers() {
return userService.findAll();
}
}

http://my.tv.sohu.com/us/441086388/698948813.shtml https://tv.sohu.com/v/dXMvNDQxMDg2Mzg4LzY5ODk0ODgxMy5zaHRtbA==.html http://my.tv.sohu.com/us/441086388/698948923.shtml https://tv.sohu.com/v/dXMvNDQxMDg2Mzg4LzY5ODk0ODkyMy5zaHRtbA==.html http://my.tv.sohu.com/us/441086388/698948929.shtml https://tv.sohu.com/v/dXMvNDQxMDg2Mzg4LzY5ODk0ODkyOS5zaHRtbA==.html http://my.tv.sohu.com/us/441086388/698948934.shtml https://tv.sohu.com/v/dXMvNDQxMDg2Mzg4LzY5ODk0ODkzNC5zaHRtbA==.html http://my.tv.sohu.com/us/441086388/698948938.shtml https://tv.sohu.com/v/dXMvNDQxMDg2Mzg4LzY5ODk0ODkzOC5zaHRtbA==.html http://my.tv.sohu.com/us/441086388/698948944.shtml https://tv.sohu.com/v/dXMvNDQxMDg2Mzg4LzY5ODk0ODk0NC5zaHRtbA==.html http://my.tv.sohu.com/us/441086388/698948854.shtml https://tv.sohu.com/v/dXMvNDQxMDg2Mzg4LzY5ODk0ODg1NC5zaHRtbA==.html http://my.tv.sohu.com/us/441086388/698948723.shtml https://tv.sohu.com/v/dXMvNDQxMDg2Mzg4LzY5ODk0ODcyMy5zaHRtbA==.html http://my.tv.sohu.com/us/441086388/698948869.shtml https://tv.sohu.com/v/dXMvNDQxMDg2Mzg4LzY5ODk0ODg2OS5zaHRtbA==.html http://my.tv.sohu.com/us/441086388/698948668.shtml https://tv.sohu.com/v/dXMvNDQxMDg2Mzg4LzY5ODk0ODY2OC5zaHRtbA==.html http://my.tv.sohu.com/us/441086388/698949115.shtml https://tv.sohu.com/v/dXMvNDQxMDg2Mzg4LzY5ODk0OTExNS5zaHRtbA==.html http://my.tv.sohu.com/us/441086388/698948785.shtml https://tv.sohu.com/v/dXMvNDQxMDg2Mzg4LzY5ODk0ODc4NS5zaHRtbA==.html http://my.tv.sohu.com/us/441086388/698949056.shtml https://tv.sohu.com/v/dXMvNDQxMDg2Mzg4LzY5ODk0OTA1Ni5zaHRtbA==.html http://my.tv.sohu.com/us/441086388/698949249.shtml https://tv.sohu.com/v/dXMvNDQxMDg2Mzg4LzY5ODk0OTI0OS5zaHRtbA==.html http://my.tv.sohu.com/us/441086388/698949068.shtml https://tv.sohu.com/v/dXMvNDQxMDg2Mzg4LzY5ODk0OTA2OC5zaHRtbA==.html http://my.tv.sohu.com/us/441086388/698949071.shtml https://tv.sohu.com/v/dXMvNDQxMDg2Mzg4LzY5ODk0OTA3MS5zaHRtbA==.html http://my.tv.sohu.com/us/441086388/698949262.shtml https://tv.sohu.com/v/dXMvNDQxMDg2Mzg4LzY5ODk0OTI2Mi5zaHRtbA==.html http://my.tv.sohu.com/us/441086388/698949271.shtml https://tv.sohu.com/v/dXMvNDQxMDg2Mzg4LzY5ODk0OTI3MS5zaHRtbA==.html http://my.tv.sohu.com/us/441086388/698949173.shtml https://tv.sohu.com/v/dXMvNDQxMDg2Mzg4LzY5ODk0OTE3My5zaHRtbA==.html http://my.tv.sohu.com/us/441086388/698949276.shtml https://tv.sohu.com/v/dXMvNDQxMDg2Mzg4LzY5ODk0OTI3Ni5zaHRtbA==.html http://my.tv.sohu.com/us/441086388/698949502.shtml https://tv.sohu.com/v/dXMvNDQxMDg2Mzg4LzY5ODk0OTUwMi5zaHRtbA==.html http://my.tv.sohu.com/us/441086388/698949434.shtml https://tv.sohu.com/v/dXMvNDQxMDg2Mzg4LzY5ODk0OTQzNC5zaHRtbA==.html http://my.tv.sohu.com/us/441086388/698949630.shtml https://tv.sohu.com/v/dXMvNDQxMDg2Mzg4LzY5ODk0OTYzMC5zaHRtbA==.html http://my.tv.sohu.com/us/441086388/698949388.shtml https://tv.sohu.com/v/dXMvNDQxMDg2Mzg4LzY5ODk0OTM4OC5zaHRtbA==.html http://my.tv.sohu.com/us/441086388/698949642.shtml https://tv.sohu.com/v/dXMvNDQxMDg2Mzg4LzY5ODk0OTY0Mi5zaHRtbA==.html http://my.tv.sohu.com/us/441086388/698949646.shtml https://tv.sohu.com/v/dXMvNDQxMDg2Mzg4LzY5ODk0OTY0Ni5zaHRtbA==.html http://my.tv.sohu.com/us/441086388/698949458.shtml https://tv.sohu.com/v/dXMvNDQxMDg2Mzg4LzY5ODk0OTQ1OC5zaHRtbA==.html http://my.tv.sohu.com/us/441086388/698949462.shtml https://tv.sohu.com/v/dXMvNDQxMDg2Mzg4LzY5ODk0OTQ2Mi5zaHRtbA==.html http://my.tv.sohu.com/us/441086388/698949468.shtml https://tv.sohu.com/v/dXMvNDQxMDg2Mzg4LzY5ODk0OTQ2OC5zaHRtbA==.html http://my.tv.sohu.com/us/441086388/698949719.shtml https://tv.sohu.com/v/dXMvNDQxMDg2Mzg4LzY5ODk0OTcxOS5zaHRtbA==.html  


常见扩展场景

需求实现方式
全局异常处理 @ControllerAdvice + @ExceptionHandler
自定义消息转换器 重写 configureMessageConverters()
跨域配置 @CrossOrigin 或 addCorsMappings()

总结

Spring Boot 通过 约定优于配置 简化了 Spring MVC 的整合:

  • 默认配置开箱即用
  • 通过接口/注解灵活定制
  • 无需手动配置 web.xml 或 DispatcherServlet

提示:需避免同时使用 @EnableWebMvc 注解,否则会禁用自动配置。

赞(0)
未经允许不得转载:网硕互联帮助中心 » SpringBoot整合SpringMVC全解析
分享到: 更多 (0)

评论 抢沙发

评论前必须登录!