文章目录
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/>`之后,请求才又能被正确捕捉和处理**