解决nested exception is java.lang.IllegalArgumentException: No converter found for return value of type: class java.util.ArrayList问题

一、背景

  最近闲来无事,想自己搭建一套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错误,就细细分析了下,而后解决了该问题,先拿来备份和分享!

二、框架搭建环境

  1.jdk 1.7

  2.maven 3.3.9

  3.spring 4.2.6.RELEASE

  4.springmvc 4.2.6.RELEASE

  5.mybatis 3.2.8

三、错误原因及解决步骤

  1.原因:这是因为springmvc默认是没有对象转换成json的转换器的,需要手动添加jackson依赖。

  2.解决步骤:

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

  <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>

  如果还是没有解决,则进行以下步骤

  在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>

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

四、总结

  我们在自己搭建框架的过程中,一定要学会自己多思考,遇到问题多去翻翻源码,这样对我们解决问题很有帮助。

时间: 2024-10-25 09:23:20

解决nested exception is java.lang.IllegalArgumentException: No converter found for return value of type: class java.util.ArrayList问题的相关文章

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

报错截图: 原因:搭建项目的时候,springmvc默认是没有对象转换成json的转换器的,需要手动添加jackson依赖. 解决步骤: 1.添加jackson依赖到pom.xml <!-- jaskson --> <dependency> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-core</artifactId> <version>

java.lang.IllegalArgumentException: No converter found for return value of type:

java.lang.IllegalArgumentException: No converter found for return value of type: 本人使用了阿里的fastson,结果出错,改成Jackson,错误解决 在pom文件中加入依赖 <dependency> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-databind</artifactId

java.lang.IllegalArgumentException: No converter found for return value of type: class com.smart.result.Page

今天学习了一下spring boot 中的mybatis,用mybatis来增删改查用户,获取用户,添加用户,修改用户,删除用户,修改用户,都是可以的,但是获取带分页的用户列表,一直抛出这个java.lang.IllegalArgumentException: No converter found for return value of type: class com.smart.result.Page,一直不知道什么地方的问题,后来一查才知道Page<E>中没有实现属性的set,get造成的

java.lang.IllegalArgumentException: No converter found for return value of type: class Person

在http://www.cnblogs.com/winner-0715/p/6033462.html我们讲到三个条件就能实现SpringMVC返回json的功能 但是按照这三个条件配置后,运行出现了错误 更让我崩溃的是另一个项目"完全相同"代码却可以,仔细对比发现,jdk的版本不一样...... jackson的版本是2.8.1,jdk的版本是1.6.30,将jackson的版本换成2.5.4之后就好了...... jackson的版本是2.8.1,jdk的版本是1.7.30,这种组合

No converter found for return value of type: class java.util.HashMap + &#39;Content-Type&#39; cannot contain wildcard type &#39;*&#39;

背景说明: 环境:IDEA java语言 springmvc.xml 配置 需要用到fastjson jackson pom.xml中配置了需要用到的包,springmvc.xml中也写了注解驱动 Controller中返回Object类型 到返回Map类型的时候 Controller中代码如下: @RequestMapping(name="/returnMap.do") @RequestMapping("/returnMap.do") @ResponseBody

【Spring】No converter found for return value of type: class java.util.ArrayList

错误信息: org.springframework.http.converter.HttpMessageNotWritableException: No converter found for return value of type: class java.util.ArrayList 如图所示: http://www.cnblogs.com/hafiz/p/5812873.html 提供了一种解决方案,似乎也是很多人的做法,但我试过之后发现不行. 后来发现是版本的问题:升了 jackson

SSM报错:No converter found for return value of type: class java.util.ArrayList at org.springframework.web.servlet.mvc.method.annotation.AbstractMessageConverterMethodProcessor.writeWithMessageConverter

我使用的是SSM框架,是在编写测试RESTFUL接口的时候出现, @RequestMapping(value = "/selectAll", method = RequestMethod.GET) @ResponseBody public ResponseEntity<List<User>> selectAll() { List<User> users = this.userService.selectAll(); if (null != users

Mybatis异常--java.lang.IllegalArgumentException: NO ENUM const class org.apache.ibatis.type.JdbcType.int

今天下午写代码时发现一直报错,找了半天都没找到错误原因. 最后才发现原来是XML配置错误,但是Mybatis不识别int的. 上Mybatis官网翻了翻才发现原来Mybatis的JdbcType全是大写,而且没有INT,只有INTEGER 以后注意,不能再写串了(╯‵□′)╯︵┻━┻ 好像oracle也有一些类型和Mybatis上定义的不一样,下次出了问题记得去查一下Mybatis中是怎样定义的了 原文地址:https://www.cnblogs.com/wcxcc/p/10734860.htm

【错误解决】BeanDefinitionStoreException: Failed to read candidate component class: file [mapper.class文件]; nested exception is java.lang.IllegalArgumentException

问题描述: "spring-mybatis整合,使用mapper代理开发,通过MapperScannerConfigurer进行mapper扫描"的练习中,出现异常: org.springframework.beans.factory.BeanDefinitionStoreException: Failed to read candidate component class: file [E:\项目\mybatis_spring\bin\cn\itheima\ssm\mapper\Us