spring mvc將對象轉換為json返回的配置


之前在spring 3中用的好好的MappingJacksonHttpMessageConverter轉換器,將對象轉為json響應給瀏覽器,在spring4中,報錯。
Cannot create inner bean 'org.springframework.http.converter.json.MappingJackson2HttpMessageConverter#0'
of type [org.springframework.http.converter.json.MappingJackson2HttpMessageConverter] while setting bean
property 'messageConverters' with key [1]; nested exception is org.springframework.beans.factory.BeanCreationException:
Error creating bean with name 'org.springframework.http.converter.json.MappingJackson2HttpMessageConverter#0': Failed to
introspect bean class [org.springframework.http.converter.json.MappingJackson2HttpMessageConverter] for lookup method metadata:
could not find class that it depends on; nested exception is java.lang.NoClassDefFoundError:
com/fasterxml/jackson/core/util/DefaultPrettyPrinter$Indente

解決:
這種錯誤,是因為 spring4開始,使用了 MappingJackson2HttpMessageConverter替換之氣的MappingJacksonHttpMessageConverter,
同時,依賴的jar包也換了。從jackson-mapper-asl,jackson-core-asl,換為了 jackson-core,jackson-databind

springmvc配置文件:

<mvc:annotation-driven>
		<mvc:message-converters>
			<bean class="org.springframework.http.converter.StringHttpMessageConverter">
                <!-- <constructor-arg ref="utf8Charset"/> -->
                 <!-- <property name="supportedMediaTypes" value = "text/plain;charset=UTF-8" /> -->
                 <property name="writeAcceptCharset" value="false" /><!-- 用於避免響應頭過大 --> 
                 <property name = "supportedMediaTypes">
                    <list>
                        <value>text/plain;charset=UTF-8</value>   
                        <value>text/html;charset=UTF-8</value>   
<!--                         <value>text/json;charset=UTF-8</value>    -->
                    </list>   
                 </property>
            </bean>
            <bean class="org.springframework.http.converter.json.MappingJackson2HttpMessageConverter">
                 <property name = "supportedMediaTypes">
                    <list>
                        <value>text/json;charset=UTF-8</value>   
                    </list>   
                 </property>
            	
            </bean>
		</mvc:message-converters>
	</mvc:annotation-driven>

參考:
springmvc和json整合配置方法
解決spring4.x中的MappingJacksonHttpMessageConverter錯誤
spring3.X升級到spring4.X時關於MappingJacksonHttpMessageConverter的問題


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM