Error creating bean with name ‘sqlSessionFactory‘ defined in class path reso「建议收藏」

Error creating bean with name ‘sqlSessionFactory‘ defined in class path reso「建议收藏」文章目录问题原因解决问题网上找的方案问题原因今天学习spring时,出现这个问题,网上查了很多,大家错误各自不同,我一个一个改了之后还是报这个错误,总结了一下大家的改错方案,我发现百分之八十都是spring配置文件有错误。于是根据总结的东西和大家改错的方案,阅读错误信息可知,是sqlSessionFactory创建时出现了问题。这时候请大家看spring-dao.xml(每个人给配置文件的命名有所不同,不一定是这个名,反正就是spring的xml配置文件)后面的报错信息,根据报错信息找到你自己的

大家好,又见面了,我是你们的朋友全栈君。

问题原因

今天学习spring时,出现这个问题,网上查了很多,大家错误各自不同,我一个一个改了之后还是报这个错误,总结了一下大家的改错方案,我发现百分之八十都是spring配置文件有错误。
于是根据总结的东西和大家改错的方案,阅读错误信息可知,是sqlSessionFactory创建时出现了问题。
这时候请大家看 spring-dao.xml (每个人给配置文件的命名有所不同,不一定是这个名,反正就是spring的xml配置文件)后面的报错信息,根据报错信息找到你自己的问题
在这里插入图片描述
我的报错信息是:

 Error creating bean with name 'sqlSessionFactory' defined in class path resource [spring-dao.xml]: Initialization of bean failed; nested exception is org.springframework.beans.ConversionNotSupportedException: Failed to convert property value of type 'java.lang.String' to required type 'javax.sql.DataSource' for property 'dataSource'; nested exception is java.lang.IllegalStateException: Cannot convert value of type 'java.lang.String' to required type 'javax.sql.DataSource' for property 'dataSource': no matching editors or conversion strategy found

解决问题

阅读可知,配置数据源时出现了问题,经过排查发现,创建SqlSessionFactory这里的ref我写成了value,改正后就不报错了
在这里插入图片描述
下面说说我今天看到的一些其他朋友报这个错误然后他们错误的地方和我不一样的解决方案

网上找的方案

  1. 报错原因是因为我在mybatis里面这段代码没有删除导致spring和mybatis都扫描了一遍xml,就出错了。
<mappers>
        <mapper resource="cn/dao/WorkinggMapper.xml"/>
</mappers>

这两段代码只要删一段就行,删spring里面的或者mybatis的都行

    <!-- 配置SQL映射文件信息 -->
        <property name="mapperLocations">
            <list>
                <value>classpath:cn/dao/**/*.xml</value>
            </list>
        </property>

此方案参考文章:https://www.cnblogs.com/hfx123/p/9685721.html

  1. 配置文件开头加上这剧
default-autowire="byname"

在这里插入图片描述
此方案参考文章:https://blog.csdn.net/weixin_43749065/article/details/84664474

  1. 在这里插入图片描述
    项目的springBoot是使用class配置的链接数据库dao接口和配置 上图是简单springBoot 启动报的错误信息 经过一步步debug 发现是在druidDataSource 数据库配置的setDriverClassName 和setUrl 两个属性为空 修改即可
    此方案参考文章:https://www.cnblogs.com/haojiedege/p/6774037.html

总之,就是写配置文件的时候一定要细心细心加细心!
总之,就是写配置文件的时候一定要细心细心加细心!
总之,就是写配置文件的时候一定要细心细心加细心!
总要的事情说三遍!!!

目前收集了这么多,如果这篇文章能帮到你希望能留言让我知道我帮助了你~

再更新一个

重复扫描了mapper,原理和网上找的方案差不多,都是两个配置文件里都扫描了mapper.class

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/130088.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • union 时只能查出一个表中的信息,另一个表只能查出字段

    union 时只能查出一个表中的信息,另一个表只能查出字段

    2021年10月15日
    43
  • iPhone 抓包工具Charles使用[通俗易懂]

    iPhone 抓包工具Charles使用[通俗易懂]Charles是在Mac下常用的截取网络封包的工具,在做iOS开发时,我们为了调试与服务器端的网络通讯协议,常常需要截取网络封包来分析。Charles通过将自己设置成系统的网络访问代理服务器,使得所有的网络访问请求都通过它来完成,从而实现了网络封包的截取和分析。Charles主要的功能包括:支持SSL代理。可以截取分析SSL的请求。支持流量控制。可以模拟慢速网络

    2022年5月16日
    543
  • 编程实现从键盘输入一个字符串输出这个字符串的长度_java获取字符串字节数

    编程实现从键盘输入一个字符串输出这个字符串的长度_java获取字符串字节数java从键盘输入字符串的方法发布时间:2020-06-2909:15:07来源:亿速云阅读:142作者:Leah本篇文章为大家展示了java从键盘输入字符串的方法,代码简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。首先,导入java.util.*包。importjava.util.*;然后,你需要新建一个读取标准输入(键盘)的扫描器对象。Scanneri…

    2022年10月10日
    0
  • 实用ExtJS教程100例-003:进度条对话框Ext.MessageBox.progress

    实用ExtJS教程100例-003:进度条对话框Ext.MessageBox.progress在上一篇内容中我们介绍了三种常用的MessageBox提示框,在这篇文章中,我们将演示如何在对话框中使用进度条。进度条对话框我们可以使用下面的代码来在MessageBox中显示一个进度条:Ext.get(“btn4”).on(“click”,function(){Ext.MessageBox.progress(“进度”,”…

    2022年6月19日
    22
  • spring注解总结_spring元注解

    spring注解总结_spring元注解Java知识学堂:https://gitee.com/zhangbw666/it-knowledge传统的Spring做法是使用.xml文件来对bean进行注入或者是配置aop、事务,这么…

    2025年6月6日
    0
  • hi3516dv300 sdk_Hi3516DV300

    hi3516dv300 sdk_Hi3516DV300Hi3516DV300编译环境搭建问题及解决1.安装完工具链,提示找不到gcc问题:bash:/opt/hisi-linux/x86-arm/arm-hisiv300-linux/target/bin/arm-hisiv300-linux-gcc:没有那个文件或目录。安装完工具链,提示找不到gcc,但实际gcc工具已经安装上是由于开发环境是32位的,而当前的ubuntu是64位的解…

    2022年9月23日
    0

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号