<!--废话不多说 先看配置-->
<mvc:annotation-driven>
<mvc:message-converters register-defaults="false">
<bean class="com.alibaba.fastjson.support.spring.FastJsonHttpMessageConverter">
<property name="supportedMediaTypes">
<list>
<!-- 这里可以配置所有返回类型 -->
<value>application/json;charset=utf-8</value>
<value>text/json;charset=utf-8</value>
</list>
</property>
<!--设置fastjson特性-->
<property name="features">
<array>
<!--
QuoteFieldNames-输出key时是否使用双引号,默认为true
WriteMapNullValue-是否输出值为null的字段,默认为false
WriteNullNumberAsZero-数值字段如果为null,输出为0,而非null
WriteNullListAsEmpty-List字段如果为null,输出为[],而非null
WriteNullStringAsEmpty-字符类型字段如果为null,输出为"",而非null
WriteNullBooleanAsFalse-Boolean字段如果为null,输出为false,而非null
-->
<!--设置使用文本方式输出日期,fastjson默认是long-->
<value>WriteMapNullValue</value>
<value>WriteDateUseDateFormat</value>
<value>WriteNullBooleanAsFalse</value>
<value>WriteNullStringAsEmpty</value>
<value>WriteNullListAsEmpty</value>
</array>
</property>
</bean>
</mvc:message-converters>
</mvc:annotation-driven>
需要注意的是 这个配置是放在spring的配置文件中,并不是放在springmvc的配置文件中的,明显的区别是springmvc文件是在web.xml中的org.springframework.web.servlet.DispatcherServlet中配置的,而spring的配置文件是在web.xml的context-param中配置的:
<!-- Spring MVC 的配置 -->
<servlet>
<servlet-name>SpringMVC</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:spring-mvc.xml</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>SpringMVC</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
<!-- spring的配置 -->
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>
classpath*:spring-common.xml,classpath*:spring-dao.xml
</param-value>
</context-param>