@EnableWebMvc介绍和使用详细demo

@EnableWebMvc是什么

@EnableWebMvcSpring MVC 中的一个注解,它用于启用 Spring MVC 框架的基本功能,以便你可以使用 Spring MVC 提供的特性来处理 Web 请求。

通常情况下,在基于 Spring Boot 的应用中,并不需要显式地使用 @EnableWebMvc,因为 Spring Boot 已经默认自动配置了 Spring MVC。但是,如果你想要自定义 Spring MVC 的配置,或者禁用 Spring Boot 对 Spring MVC 的自动配置,那么你就需要显式地使用 @EnableWebMvc。

使用示例

下面是一个简单的使用 @EnableWebMvc 的示例:

java 复制代码
import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.EnableWebMvc;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;

@Configuration
@EnableWebMvc
public class WebMvcConfig implements WebMvcConfigurer {

    // 配置静态资源处理
    @Override
    public void addResourceHandlers(ResourceHandlerRegistry registry) {
        registry.addResourceHandler("/resources/**").addResourceLocations("/resources/");
    }
    // 配置视图解析器
    @Override
    public void configureViewResolvers(ViewResolverRegistry registry) {
        registry.jsp("/WEB-INF/views/", ".jsp");
    }
    // 其他自定义的 Spring MVC 配置
}

在上面的示例中,@EnableWebMvc 注解被添加到了一个 @Configuration 注解的类上,表示要启用 Spring MVC 框架。在这个类中,你可以添加自定义的 Spring MVC 配置,例如添加拦截器、视图解析器、消息转换器等。

需要注意的是,使用 @EnableWebMvc 会完全覆盖 Spring Boot 对 Spring MVC 的自动配置,因此如果你使用了 @EnableWebMvc,就需要自己配置 Spring MVC 的全部内容,包括视图解析器、资源处理、异常处理等。通常情况下,只有在需要非常精细的控制 Spring MVC 配置时才会使用 @EnableWebMvc。

总结:

使用@EnableWebMvc注解,可以开启Spring MVC 框架的基本功能,你可以使用 Spring MVC 提供的特性来处理 Web 请求,同时会完全覆盖 Spring Boot 对 Spring MVC 的自动默认配置。

相关推荐
周杰伦fans3 天前
.net core webapi/mvc阿里云服务器部署 - 错误解决
阿里云·mvc·.netcore
BFT白芙堂3 天前
GRASP 实验室研究 论文解读 | 机器人交互:基于神经网络引导变分推理的快速失配估计
人工智能·神经网络·机器学习·mvc·人机交互·科研教育机器人·具身智能平台
小胖墩有点瘦3 天前
【基于协同过滤的校园二手交易平台】
java·vue·毕业设计·springboot·计算机毕业设计·协同过滤·校园二手交易平台
William_cl4 天前
MVC 中 AJAX 与前后端交互深度实战(含独家避坑与场景化方案)
ajax·mvc·交互
叫我阿柒啊4 天前
从Java全栈到前端框架的实战之路
java·数据库·微服务·typescript·前端框架·vue3·springboot
Cyan_RA95 天前
SpringMVC 执行流程分析 详解(图解SpringMVC执行流程)
java·人工智能·后端·spring·mvc·ssm·springmvc
hello 早上好5 天前
Spring MVC 类型转换与参数绑定:从架构到实战
spring·架构·mvc
sanggou5 天前
License 集成 Spring Gateway:解决 WebFlux 非阻塞与 Spring MVC Servlet 阻塞兼容问题
spring·gateway·mvc
叫我阿柒啊5 天前
Java全栈开发实战:从基础到微服务的深度解析
java·微服务·kafka·vue3·springboot·jwt·前端开发
optimistic_chen5 天前
【Java EE进阶 --- SpringBoot】Spring DI详解
spring boot·笔记·后端·spring·java-ee·mvc·di