当前位置: 首页 > news >正文

@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 的示例:

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 {// 配置静态资源处理@Overridepublic void addResourceHandlers(ResourceHandlerRegistry registry) {registry.addResourceHandler("/resources/**").addResourceLocations("/resources/");}// 配置视图解析器@Overridepublic 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 的自动默认配置。

在这里插入图片描述

相关文章:

  • 软考68-上午题-【面向对象技术2-UML】-事物
  • postman和jmeter的区别何在?
  • SpringBoot3快速入门
  • 字符串索引错误解决方案
  • Lazada全托管是什么?Lazada全托管ERP哪个好用?
  • 【直流无刷笔记1】
  • 区块链web3智能合约Solidity学习资源整理
  • Kindle刷安卓系统,安装微信读书教程
  • 一文总结CNN中【各类卷积】操作
  • Linux内核之kstrdup代码实例(二十六)
  • Python pip通过requirements.txt 文件快速安装依赖
  • openAI key 与ChatGPTPlus的关系,如何升级ChatGPTPLus
  • 如何做校园圈子小程序,需要哪些功能?APP小程序H5公众号功能齐全,PHP书写,uniAPP。源码交付,支持二开!
  • Elasticsearch 索引库操作 文档操作
  • html5cssjs代码 005 小学数学四则运算练习
  • 【翻译】Mashape是如何管理15000个API和微服务的(三)
  • 【技术性】Search知识
  • Android框架之Volley
  • ES6 学习笔记(一)let,const和解构赋值
  • ESLint简单操作
  • IIS 10 PHP CGI 设置 PHP_INI_SCAN_DIR
  • iOS | NSProxy
  • Java精华积累:初学者都应该搞懂的问题
  • JSONP原理
  • 阿里云ubuntu14.04 Nginx反向代理Nodejs
  • 基于 Babel 的 npm 包最小化设置
  • 漂亮刷新控件-iOS
  • 前端性能优化——回流与重绘
  • 小程序、APP Store 需要的 SSL 证书是个什么东西?
  • 小程序开发之路(一)
  • 原生JS动态加载JS、CSS文件及代码脚本
  • #Js篇:单线程模式同步任务异步任务任务队列事件循环setTimeout() setInterval()
  • $var=htmlencode(“‘);alert(‘2“); 的个人理解
  • (1)(1.8) MSP(MultiWii 串行协议)(4.1 版)
  • (1)SpringCloud 整合Python
  • (14)Hive调优——合并小文件
  • (免费领源码)python#django#mysql校园校园宿舍管理系统84831-计算机毕业设计项目选题推荐
  • (循环依赖问题)学习spring的第九天
  • (原創) 如何將struct塞進vector? (C/C++) (STL)
  • (转) ns2/nam与nam实现相关的文件
  • (转)linux 命令大全
  • (转)Oracle 9i 数据库设计指引全集(1)
  • (转)shell中括号的特殊用法 linux if多条件判断
  • .axf 转化 .bin文件 的方法
  • .Net程序帮助文档制作
  • .NET序列化 serializable,反序列化
  • @AutoConfigurationPackage的使用
  • @Transactional注解下,循环取序列的值,但得到的值都相同的问题
  • [ 渗透测试面试篇 ] 渗透测试面试题大集合(详解)(十)RCE (远程代码/命令执行漏洞)相关面试题
  • [cocos2d-x]关于CC_CALLBACK
  • [Git 1]基本操作与协同开发
  • [Manacher]【学习笔记】
  • [MAUI]集成高德地图组件至.NET MAUI Blazor项目
  • [mmucache]-ARMV8-aarch64的虚拟内存(mmutlbcache)介绍-概念扫盲
  • [NISACTF 2022]sign-ezc++