解决springmvc报错,java.lang.IllegalArgumentException:No converter found for return value of type: class .......
1.背景
最近在自学java中的三大框架 ssm,在 springmvc 与 mybatis 整合过程中用到 json 数据交互。因为看的视频的是比较早的嘛,一些配置、jar包什么的,要么跟 jdk 版本不匹配,要么视频里讲的已经过时了,要么就是叫不上名字来的各种错误(相信在坐的自学者们都深有体会)。所以还得靠自己慢慢细心的查漏补缺。好,话不多说,放出我遇到的问题,以及解决办法。
2.环境
1). MyEclipse 2014
2). jdk 1.8
3). spring-framework-4.2.4.RELEASE-dist
4). mybatis 3.2.7
报错如图:
3. 场景:
当访问使用 ajax 或其他使用到 json 转换器技术(@RequestBody 、@ResponseBody)时
4. 原因:
出现上面报错主要是 jar 包 和 springmvc.xml中配置问题。
5. 解决
1)jar包
* 我用的是 2.8.1 的版本,三个都要下载
* 普及一下,相关博客了解到:spring4.x的jackson,jar包要2.6版本以上。
* 教程给的是 jackson-core-asl-1.9.11.jar 和 jackson-mapper-asl-1.9.11.jar。而我当时因为另一个bug 了解到,spring 3.X版本支持到java7
spring 4.X版本支持Java8最低支持到Java6 。而我当时的 jdk 1.8 ,所以我把本是 spring3.2 换成了 spring 4.2。如今,知道真相的我眼泪掉下来啊。呜呜~(不过事实也证明啊,bug出的多,见识也张的多啊。在这里还得感谢各博主的详尽解答)
这里送上福利(转载):Jackson 官网最新资源全版本下载地址 免费 目前最新为2.9.9
2)springmvc.xml 配置
* 当时教程里讲两种一种是单独在 处理器适配器 中配置;一种是 <mvc:annotation-driven /> 不写其他的,使用默认配置。我使用了第二种,因为懒得写第一种。而后。。。。。。就噼里啪啦的报错了。
* 事实证明自学是场孤独的旅程,当没有明确的人能给你指导正确的答案时,我们得自己深挖力掘为这个问题给自己找到一个正确的解答。
*** 日常记录报错笔记,帮助遇到同样问题的伙伴们,也给自己长记性。
解决springmvc报错,java.lang.IllegalArgumentException:No converter found for return value of type: class .......的更多相关文章
- 解决java.lang.IllegalArgumentException: No converter found for return value of type 的问题
controller返回一个dto,并且定义了@ResponseBody注解,表示希望将这个dto对象转换为json字符串返回给前端,但是运行时报错:nested exception is java. ...
- 解决java.lang.IllegalArgumentException: No converter found for return value of type: class java.util.ArrayList问题
在spring + springmvc + mybatis框架中,我们配置接口对外返回json格式,但是报如下错误: 24-Oct-2017 17:42:23.495 严重 [http-nio-808 ...
- 解决java.lang.IllegalArgumentException: No converter found for return value of type: class java.util.ArrayList的问题
一.背景 最近闲来无事,想自己搭建一套Spring+SpringMVC+Mybatis+Mysql的环境(搭建步骤会在以后博客中给出),结果运行程序时,适用@ResponseBody注解进行返回Lis ...
- 解决java.lang.IllegalArgumentException: No converter found for return value of type: class java.util.ArrayList这个问题
今天使用SSM框架,用@ResponseBody注解,出现了这个问题 java.lang.IllegalArgumentException: No converter found for return ...
- java.lang.IllegalArgumentException: No converter found for return value of type: class com.smart.result.Page
今天学习了一下spring boot 中的mybatis,用mybatis来增删改查用户,获取用户,添加用户,修改用户,删除用户,修改用户,都是可以的,但是获取带分页的用户列表,一直抛出这个java. ...
- 170616、解决 java.lang.IllegalArgumentException: No converter found for return value of type: class java.util.ArrayList
报错截图: 原因:搭建项目的时候,springmvc默认是没有对象转换成json的转换器的,需要手动添加jackson依赖. 解决步骤: 1.添加jackson依赖到pom.xml <!-- j ...
- 170524、java.lang.IllegalArgumentException: No converter found for return value of type异常解决
错误原因及解决步骤 1.原因:这是因为springmvc默认是没有对象转换成json的转换器的,需要手动添加jackson依赖. 2.解决步骤: 手动添加jackson依赖到pom.xml文件中 &l ...
- 解决java.lang.IllegalArgumentException: No converter found for return value of type
1原因:这是因为springmvc默认是没有对象转换成json的转换器的,需要添加jackson依赖. 简而言之 需要将对象转化为json对象 Jackson 是一种实现方式 <depe ...
- java.lang.IllegalArgumentException: No converter found for return value of type: class XXX.XXXX
最近项目中用到fastjson做接口数据的转换,发现报这个错误了,环境是springMVC4,看到阿里的官网说是“ 如果是使用 XML 的方式配置 Spring MVC 的话,只需在 Spring M ...
随机推荐
- HZOJ 星际旅行
正解欧拉路,其实看完题解还是挺简单的,由于对欧拉路这种东西没怎么接触过,所以考试时没想出来,知识还是有漏洞啊. 另外这题的题解写的也不是很清楚(可能大佬作者觉得这是一道送分题……),首先判断联通(注意 ...
- 5 获取Form表单取值
#form表达提交@app.route("/data",methods=['GET','POST']) #methods 让当前路由支持GET 和 POST 方式def data( ...
- oracle整合简单,无关联的数据库访问
如果你有几个简单的数据库查询语句,你可以把它们整合到一个查询中(即使它们之间没有关系) 例如: SELECT NAME FROM EMP WHERE EMP_NO = 1234; SELECT NAM ...
- Java安装完毕后的环境配置
右键计算机=>属性=>高级系统设置=>环境变量=>系统变量=>新建系统变量 变量名:JAVA_HOME变量值:E:\Program Files\Java\jdk-9.0. ...
- 用mysql查询某字段是否有索引
可以使用SHOW INDEX FROM table_name来查看表的索引,从而查看字段的索引:查询结果中table为表名,key_name为索引名,Column_name为列名
- 命名实体识别视频51cto
https://edu.51cto.com/center/course/lesson/index?id=402918 https://edu.51cto.com/course/18466.html
- SAX解析xml (遍历DOM树各节点)
本文参考 http://yangjunfeng.iteye.com/blog/401377 1. books.xml <?xml version="1.0" encoding ...
- linux常用命令速记
一.命令提示符说明 1. [root@localhost ~]# root: 当前登录用户 localhost: 主机名 ~: 当前所在目录 #: 超级用户提示符($: 普通用户) 2. -rwxr- ...
- H3C 显示OSPF路由信息
- python基础十三之内置函数
内置函数 操作字符串代码 eval和exec print(eval('1+2')) # 简单的计算 有返回值 exec('for i in range(10):print(i)') # 简单的流程控制 ...