【新】使用fastjson作為SpringMVC的HttpMessageConverter
阿新 • • 發佈:2018-11-09
最近需要將SpringMVC預設的HttpMessageConverter由Jackson轉為fastjson,但是網上搜索的fastjson版本太老了,springmvc.xml的配置檔案資訊需要更新,我用的fastjson版本是1.2.47
網上抄的老的配置資訊:
<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> <!-- 預設的意思就是不配置這個屬性,配置了就不是默認了 --> <!-- 是否輸出值為null的欄位 ,預設是false--> <value>WriteMapNullValue</value> <value>WriteNullNumberAsZero</value> <value>WriteNullListAsEmpty</value> <value>WriteNullStringAsEmpty</value> <value>WriteNullBooleanAsFalse</value> <value>WriteDateUseDateFormat</value> </list> </property> </bean> </mvc:message-converters> </mvc:annotation-driven>
但是我們拷貝過去後發現,已經被棄用
於是我開啟
FastJsonHttpMessageConverter
這個類
所以,我們需要這麼配置:
<!-- 注入fastjson配置類 --> <bean name="fastJsonConfig" class="com.alibaba.fastjson.support.config.FastJsonConfig"> <property name="serializerFeatures"> <list> <value>WriteMapNullValue</value> <value>WriteMapNullValue</value> <value>WriteNullNumberAsZero</value> <value>WriteNullListAsEmpty</value> <value>WriteNullStringAsEmpty</value> <value>WriteNullBooleanAsFalse</value> <value>WriteDateUseDateFormat</value> </list> </property> </bean> <mvc:annotation-driven > <mvc:message-converters> <!-- 這裡配置alibaba 的fastjson --> <bean class="com.alibaba.fastjson.support.spring.FastJsonHttpMessageConverter"> <property name="supportedMediaTypes"> <list> <value>text/html;charset=UTF-8</value> <value>application/json;charset=UTF-8</value> </list> </property> <!-- 配置 --> <property name="fastJsonConfig" ref="fastJsonConfig"> </property> </bean> </mvc:message-converters> </mvc:annotation-driven>
這麼設定就完事了