当前位置: 代码迷 >> 综合 >> java.lang.IllegalArgumentException: No converter found for return value of type: class java.util.Arr
  详细解决方案

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

热度:85   发布时间:2023-12-03 10:58:07.0

 

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

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

  相关解决方案