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>
全部评论

相关推荐

找工作勤劳小蜜蜂:自我描述部分太差,完全看不出想从事什么行业什么岗位,也看不出想在哪个地区发展,这样 会让HR很犹豫,从而把你简历否决掉。现在企业都很注重员工稳定性和专注性,特别对于热爱本行业的员工。 你实习的工作又太传统的it开发(老旧),这部分公司已经趋于被淘汰,新兴的互联网服务业,比如物流,电商,新传媒,游戏开发和传统的It开发有天然区别。不是说传统It开发不行,而是就业岗位太少,基本趋于饱和,很多老骨头还能坚持,不需要新血液。 工作区域(比如长三角,珠三角,成渝)等也是HR考虑的因素之一,也是要你有个坚定的决心。否则去几天,人跑了,HR会被用人单位骂死。
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务