解决java.lang.IllegalArgumentException: No converter found for return value of type: class java.util.A

1、背景

  最近闲来无事,想本身搭建一套Spring+SpringMVC+Mybatis+Mysql的环境(搭建步骤会在之后博客中给出),结果运行程序时,适用@ResponseBody注解进行返回List<对象>的json数据时出现了:nested exception is java.lang.IllegalArgumentException: No converter found for return value of type: class java.util.ArrayList错误,就细细分析了下,然后解决了该问题,先拿来备份和分享!java

2、框架搭建环境

  1.jdk 1.7spring

  2.maven 3.3.9sql

  3.spring 4.2.6.RELEASEjson

  4.springmvc 4.2.6.RELEASEmybatis

  5.mybatis 3.2.8mvc

3、错误缘由及解决步骤

  1.缘由:这是由于springmvc默认是没有对象转换成json的转换器的,须要手动添加jackson依赖。app

  2.解决步骤:框架

    手动添加jackson依赖到pom.xml文件中maven

  <properties>
    <jackson.version>2.5.4</jackson.version>
  </properties> 
<dependency> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-core</artifactId> <version>${jackson.version}</version> </dependency> <dependency> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-databind</artifactId> <version>${jackson.version}</version> </dependency>

  若是仍是没有解决,则进行如下步骤spa

  在springmvc配置文件中进行以下配置

<mvc:annotation-driven>
     <mvc:message-converters>
            <bean class="org.springframework.http.converter.StringHttpMessageConverter"/>
            <bean class="org.springframework.http.converter.json.MappingJackson2HttpMessageConverter"/>
   </mvc:message-converters>
</mvc:annotation-driven>

这样咱们就完美解决了该问题。

4、总结

  咱们在本身搭建框架的过程当中,必定要学会本身多思考,遇到问题多去翻翻源码,这样对咱们解决问题颇有帮助。

相关文章
相关标签/搜索