SpringMVC中的注解驱动

文章目录

SpringMVC中的注解驱动

**<mvc:annotation-driven>**就是注解驱动

一、注解驱动的作用

1.<mvc:annotation-driven> Spring MVC用来提供Controller请求转发,json自动转换等功能。,默认会帮我们注册默认处理请求,参数和返回值的类。

默认底层会集成jackson进行对象或集合的json格式字符串的转换 ,且使用它时候,自动加载ReuestMappingHandlerMapping(处理映射器)****和RequestMappingHandlerAdapter(处理适配器)

在spirng-xml的配置文件中使用<mvc:annotation-driven>替代注解处理器和适配器的配置

当控制器方法中,仅仅用来实现页面跳转,即只需要设置视图名称时,可以将处理器方法使用view-controller标签进行表示

复制代码
<mvc:view-controller path="/" view-name="index"></mvc:view-controller>

注:

当springmvc中设置任何一个view-controller时,其它控制器中的请求映射将全部失效

此时需要再SpringMVC的核心配置文件中开启mvc的注解驱动

复制代码
<mvc:annotation-driven></mvc:annotation-driven>

二、注解驱动的使用场景

1.注册Bean

<mvc:annotation-driven>会自动注册RequestMappingHandlerMapping与RequestMappingHandlerAdapter两个Bean,这是Spring MVC为@Controller分发请求所必需的,并且提供了数据绑定支持,@NumberFormatannotation支持,@DateTimeFormat支持,@Valid支持读写XML的支持(JAXB)和读写JSON的支持(默认Jackson)等功能。

2.数据返回响应

2.1 当我们需要controller返回一个 javabean,list,map等数据的json对象时,可以设定<mvc:annotation-driven />

2.2 静态资源的访问时直到添加了<mvc:annotation-driven/>之后,请求才又能被正确捕捉和处理

c:annotation-driven/>`之后,请求才又能被正确捕捉和处理**

相关推荐
极光代码工作室5 小时前
基于SpringBoot的课程预约系统
java·springboot·web开发·后端开发
Leighteen6 小时前
`try-finally` 里的 `return`:为什么 `finally` 会悄悄改掉返回值、吞掉异常
java·开发语言
名字还没想好☜6 小时前
Go 的 time.After 在 select 循环里内存泄漏:定时器堆积原理与 timer.Reset 正确姿势
java·数据库·golang·go·goroutine
圆山猫6 小时前
[Virtualization](三):RISC-V H-extension 与 Guest 执行模式
android·java·risc-v
caishenzhibiao7 小时前
期货先行者主图 同花顺期货通指标
java·c语言·c#
史呆芬7 小时前
分布式事务实战:微服务跨服务数据一致性解决方案
java·后端·spring cloud
IT界的老黄牛7 小时前
限流命中后该怎么办:直接丢、阻塞等待、延迟重投三种姿势的取舍
java·rocketmq·redisson·令牌桶·削峰·分布式限流
daad7778 小时前
记录matlab状态机demo
java·网络·matlab
牡丹雅忻18 小时前
AES 加密模式演进:从 ECB、CBC 到 GCM 的 C# 深度实践
java·开发语言·c#
学者猫头鹰9 小时前
Java 8 核心新特性
java