在 springmvc 中, 如何配置 fastjson (阿里开源的) 和 Jackson( Spring 内置的)

来源:互联网 发布:笔记本清理垃圾软件 编辑:程序博客网 时间:2024/06/06 12:28

由于使用的是maven工程,直接引入依赖即可
一、Jackson
引入

<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>
 <bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter">              <property name="messageConverters">                  <list>  <bean class="org.springframework.http.converter.json.MappingJackson2HttpMessageConverter">    <property name="supportedMediaTypes">       <list>          <value>application/json;charset=UTF-8</value>          <value>application/xml;charset=UTF-8</value>         <value>text/html;charset=UTF-8</value>  </list>     </property>  </bean>                </list>              </property>          </bean> 

二、FastJson(spring4.2x版本以下)
引入

<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>

三、FastJson(spring4.2x版本以上)
引入

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

springmvc-servlet.xml中配置

<mvc:annotation-driven>        <mvc:message-converters register-defaults="true">            <ref bean="stringHttpMessageConverter" />              <ref bean="fastJsonHttpMessageConverter" />          </mvc:message-converters>    </mvc:annotation-driven>        <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>
0 0
原创粉丝点击