zoukankan      html  css  js  c++  java
  • 【Spring】mvc:annotation-driven 使用

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

    <!-- 解决@ResponseBody 的实现类其默认的编码是 iso-8859-1的问题 -->
    <mvc:annotation-driven>
    	<mvc:message-converters>
    		<!-- default StringHttpMessageConverter, solve encoding problem -->
    		<bean class="org.springframework.http.converter.StringHttpMessageConverter">
    			<constructor-arg value="UTF-8" />
    			<property name="writeAcceptCharset" value="false" />
    		</bean>
    	</mvc:message-converters>
    </mvc:annotation-driven>
    
    其中编码的设置写法有多种,上面是使用的构造参数的形式。
    还可以设置MediaType:
     
    <mvc:annotation-driven>
        <mvc:message-converters>
            <bean class="org.springframework.http.converter.StringHttpMessageConverter">
                <property name="supportedMediaTypes">
                    <list>
                        <value>text/plain;charset=UTF-8</value>
                    </list>
                </property>
            </bean>
        </mvc:message-converters>
    </mvc:annotation-driven>
    

      

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

    <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数据进行修改默认编码。
     
  • 相关阅读:
    小记:xml画一个爱心。
    类似UC天气下拉和微信下拉眼睛头部弹入淡出UI交互效果(开源项目)。
    FloatingActionButton增强版,一个按钮跳出多个按钮--第三方开源--FloatingActionButton
    回调机制的实现。
    小记:使用SharedPreferences存储来设置程序第一次进入欢迎界面,以后不会再进入欢迎界面。
    小记:获取系统时间的long值,格式化成可读时间。
    写程序的欢迎界面(运用画图方法画圆球)。
    并发的HashMap为什么会引起死循环?
    zuul重试配置
    zuul超时问题
  • 原文地址:https://www.cnblogs.com/wentaos/p/7596640.html
Copyright © 2011-2022 走看看