MyBatisFailed to instantiate [org.mybatis.spring.SqlSessionFactoryBean]: No default constructor fo
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sqlSessionFactory' defined in class path resource [spring-mybatis.xml]: Failed to instantiate [org.mybatis.spring.SqlSessionFactoryBean]: No default constructor found
Spring 整合MyBatis出现的问题,排查过程:
1.问题出现在spring-mybatis.xml,检查了很久的代码,发现都没有语法问题,但是安装Maven依赖的时候还是会报这个错
2.检查SqlSessionFactoryBean的构造函数,是正常的
3.不是构造函数的问题,那就有可能是引用dataSource的问题,但是mybatis的Datasource配置在上一个模块中测试是通过的,所以排除配置问题,考虑与spring结合相关的问题
4.再次检查报错信息,猜测是class path的问题导致无法建bean,回到官网查看版本,并检查pom.xml
官网介绍的版本:https://mybatis.org/spring/index.html
找到root cause了,与6.0 的spring framework对应的的mybatis-spring版本应该是3.0…
5.在排错过程中,犯了一个错误,就是多次重建依赖,根据Maven自动提示选择的版本,认为只要选择提示最高版本就不会错,而不是自己确定的应该选择什么,但这样子很容易选择错误的,导致不兼容
测通结果:
具体报错:
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sqlSessionFactory' defined in class path resource [spring-mybatis.xml]: Failed to instantiate [org.mybatis.spring.SqlSessionFactoryBean]: No default constructor found
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateBean(AbstractAutowireCapableBeanFactory.java:1306)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1198)
<!--省略加载过程--->
Caused by: org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.mybatis.spring.SqlSessionFactoryBean]: No default constructor found
at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:83)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateBean(AbstractAutowireCapableBeanFactory.java:1300)
... 45 more
Caused by: java.lang.NoClassDefFoundError: org/springframework/core/NestedIOException
at java.base/java.lang.Class.getDeclaredConstructors0(Native Method)
at java.base/java.lang.Class.privateGetDeclaredConstructors(Class.java:3373)
at java.base/java.lang.Class.getConstructor0(Class.java:3578)
at java.base/java.lang.Class.getDeclaredConstructor(Class.java:2754)
at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:79)
... 46 more
Caused by: java.lang.ClassNotFoundException: org.springframework.core.NestedIOException
at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:641)
at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:188)
at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:520)
... 51 more
这篇好文章是转载于:学新通技术网
- 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
- 本站站名: 学新通技术网
- 本文地址: /boutique/detail/tanhgakeja
系列文章
更多
同类精品
更多
-
photoshop保存的图片太大微信发不了怎么办
PHP中文网 06-15 -
《学习通》视频自动暂停处理方法
HelloWorld317 07-05 -
word里面弄一个表格后上面的标题会跑到下面怎么办
PHP中文网 06-20 -
Android 11 保存文件到外部存储,并分享文件
Luke 10-12 -
photoshop扩展功能面板显示灰色怎么办
PHP中文网 06-14 -
微信公众号没有声音提示怎么办
PHP中文网 03-31 -
excel下划线不显示怎么办
PHP中文网 06-23 -
excel打印预览压线压字怎么办
PHP中文网 06-22 -
TikTok加速器哪个好免费的TK加速器推荐
TK小达人 10-01 -
怎样阻止微信小程序自动打开
PHP中文网 06-13