【Spring】mvc:annotation-driven 使用

关注此标签,是在项目中有使用


< mvc:annotation-driven >
    < mvc:message-converters >
        
        < bean class="org.springframework.http.converter.StringHttpMessageConverter">
            < constructor-arg value="UTF-8" />
            < property name="writeAcceptCharset" value="false" />
        
    

 

其中编码的设置写法有多种,上面是使用的构造参数的形式。
还可以设置MediaType:
 
< mvc:annotation-driven >
    < mvc:message-converters >
        < bean class="org.springframework.http.converter.StringHttpMessageConverter">
            < property name="supportedMediaTypes">
                < list >
                    < value >text/plain;charset=UTF-8
                
            
        
    

  

平常一般的使用就是直接配置:

< mvc:annotation-driven />

  

那么这个标签的作用是什么:
 
基本上就是解析到Controller的,如果不配置,就不走Controller。
 
这个标签注册了Spring MVC分发请求到控制器所必须的DefaultAnnotationHandlerMapping和AnnotationMethodHandlerAdapter实例
标签配置的这2个实例可以根据classpath中的内容默认提供以下功能:
1、支持spring3的javaBeans属性编辑器数据绑定时的类型转换服务。
类型转换服务实例默认为org.springframework.format.support.FormattingConversionServiceFactoryBean。
可以覆盖conversion-service属性来指定类型转换服务实例类。
2、支持@NumberFormat 注解格式化数字类型字段。
3、@DateTimeFormat注解格式化 Date, Calendar, Long和 Joda Time(如classpath下存在Joda Time 1.3或更高版本)字段
4、支持@Valid注解验证控制器数据,classpath中需JSR-303的**。
可以使用setting明确的配置
5、支持读写xml,classpath中需JAXB 。
6、支持读写json,classpath中需Jackson 。
 
要使用spring mvc中的@Controller注解,就必须要配置<mvc:annotation-driven />,否则org.springframework.web.servlet.DispatcherServlet无法找到控制器并把请求分发到控制器。
 
而項目中的使用是一种扩展使用,可以对转换年的文本数据,比如JSON数据进行修改默认编码。

 

 
posted @ 2017-09-26 14:30  宋文涛  阅读(226)  评论(0编辑  收藏  举报