文档章节

Fastjson、Jackson与SpringMVC整合的MessageConverter配置

yehun
 yehun
发布于 2017/04/01 15:04
字数 307
阅读 428
收藏 0

1.Jackson

maven依赖

<dependency>
    <groupId>com.fasterxml.jackson.core</groupId>
    <artifactId>jackson-databind</artifactId>
    <version>2.7.1</version>
</dependency>
<dependency>
    <groupId>com.fasterxml.jackson.dataformat</groupId>
    <artifactId>jackson-dataformat-xml</artifactId>
    <version>2.7.1</version>
</dependency>

springmvc-servlet.xml中配置

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

2.FastJson

由于FastJson针对Spring4.2以后进行特殊优化,具体如图

所以FastJson可以分为Spring4.2及以下配置和Spring4.2以上的不同配置

2.1Spring4.2及以下配置

maven依赖

<dependency>
    <groupId>com.alibaba</groupId>
    <artifactId>fastjson</artifactId>
    <version>1.2.7</version>
</dependency>

springmvc-servlet.xml中配置

<mvc:annotation-driven>
        <mvc:message-converters register-defaults="true">
            <bean class="com.alibaba.fastjson.support.spring.FastJsonHttpMessageConverter">
                <property name="supportedMediaTypes">
                    <list>
                        <value>text/html;charset=UTF-8</value>
                        <value>application/json</value>
                        <value>application/xml;charset=UTF-8</value>
                    </list>
                </property>
                <property name="features">
                    <list>
                        <value>WriteMapNullValue</value>
                        <value>QuoteFieldNames</value>
                        <value>WriteDateUseDateFormat</value>
                    </list>
                </property>
            </bean>
        </mvc:message-converters>
</mvc:annotation-driven>

2.2Spring4.2以上配置

maven依赖

<dependency>
    <groupId>com.alibaba</groupId>
    <artifactId>fastjson</artifactId>
    <version>1.2.7</version>
</dependency>

springmvc-servlet.xml中配置

<mvc:annotation-driven validator="validator">
        <mvc:message-converters register-defaults="true">
            <ref bean="stringHttpMessageConverter"/>
            <ref bean="fastJsonHttpMessageConverter"/>
        </mvc:message-converters>
</mvc:annotation-driven>
<!--FastJson(spring4.2x版本以上)-->
<bean id="stringHttpMessageConverter"
          class="org.springframework.http.converter.StringHttpMessageConverter">
        <constructor-arg value="UTF-8" index="0"></constructor-arg>
        <property name="supportedMediaTypes">
            <list>
                <value>text/plain;charset=UTF-8</value>
            </list>
        </property>
</bean>

<bean id="fastJsonHttpMessageConverter" class="com.alibaba.fastjson.support.spring.FastJsonHttpMessageConverter4">
        <property name="supportedMediaTypes">
            <list>
                <value>text/html;charset=UTF-8</value>
                <value>application/json;charset=UTF-8</value>
            </list>
        </property>
        <property name="fastJsonConfig">
            <bean class="com.alibaba.fastjson.support.config.FastJsonConfig">
                <property name="features">
                    <list>
                        <value>AllowArbitraryCommas</value>
                        <value>AllowUnQuotedFieldNames</value>
                        <value>DisableCircularReferenceDetect</value>
                    </list>
                </property>
                <property name="dateFormat" value="yyyy-MM-dd HH:mm:ss"></property>
            </bean>
        </property>
</bean>

本文转载自:https://my.oschina.net/liuyuantao/blog/796675

yehun
粉丝 8
博文 218
码字总数 137315
作品 0
长宁
高级程序员
私信 提问
SpringMVC3.2.x整合Fastjson与Controller单元测试

SpringMVC与Fastjson整合相当简单,只要在pom引入fastjson包后,配置一下SpringMVC的messageConverter就可以使用了。 但是如果在单元测试时,使用mockMvc测试controller 此时会报406错误,也...

bfleeee
2014/10/20
1K
1
Fastjson、Jackson与SpringMVC整合的MessageConverter配置

1.Jackson maven依赖 springmvc-servlet.xml中配置 2.FastJson 由于FastJson针对Spring4.2以后进行特殊优化,具体如图 所以FastJson可以分为Spring4.2及以下配置和Spring4.2以上的不同配置 ...

楠木楠
2016/11/30
3.6K
0
SpringMVC 中的Controller返回JSON数据

SpringMVC中的Controller返回JSON问题 ①配置JSON解析器 ②使用注解@ResponseBody返回的是json,没有使用该注解,则会进行页面跳转。 方案一

IamOkay
2014/11/21
123
0
SpringBoot版本升级引起数据显示出错及排查

描述 原来环境 Spring boot1.5.3 fastjson pojo中配置 测试结果 升级2.0.6测试结果 排查解决 经过来回更换版本等几个小时的尝试后,分析结果:Spring Boot默认采用jackson作为解析,原因可能...

豫华商
07/09
39
0
使用@ResponseBody返回Json格式数据时的配置

最近搭建环境时,想使用@ResponseBody注解返回JSONObject数据,但是提示Http 500错误: 上网查了一下,才发现,@ResponseBody不是拿来就能用的,还需要进行下配置,配置对应的conver。 找了好...

lixuelong
2016/04/19
158
0

没有更多内容

加载失败,请刷新页面

加载更多

【2019年8月版本】OCP 071认证考试最新版本的考试原题-第9题

Choose three Which three statements are true about views in an Orade batabase? A) A SELECT statement cannot contain a where clause when querying a view contaning a WHERE clause ......

oschina_5359
27分钟前
5
0
[JSON].connectionValue()

本文转载于:专业的前端网站➭[JSON].connectionValue() 语法: [JSON].connectionValue() 说明: 将对象的所有键值接连成新的字符串值 返回: [String] 示例: Set a = toJson()c = Array(1,2,...

前端老手
28分钟前
4
0
云计算给大数据分析工具带来了什么

如果大数据是一块蛋糕,那么大数据分析工具就是切蛋糕的刀叉。人们都期待着能用“刀叉”从大数据中挖出自己想要的“价值”,因此大数据分析工具被人们寄予厚望。而云计算技术的兴起似乎又给大...

青果云小潘
30分钟前
4
0
centOS7下es的使用

安装启动es7.4.0 docker pull docker.elastic.co/elasticsearch/elasticsearch:7.4.0docker run -d -p 9200:9200 -e "discovery.type=single-node" docker.elastic.co/elasticsearch/elast......

无畏的老巨人
38分钟前
4
0
iptables删除命令中的相关问题

最近在做一个中间件的配置工作,在配置iptables的时候,当用户想删除EIP(即释放当前连接),发现使用iptables的相关命令会提示错误。iptables: Bad rule (does a matching rule exist in t...

xiangyunyan
今天
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部