栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Spring报错:Error creating bean with name SqlSessionFactory....not find resource com/dao/StudentDao.xml

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Spring报错:Error creating bean with name SqlSessionFactory....not find resource com/dao/StudentDao.xml

在学习spring过程中执行单元测试时提示报错

下面是报错信息的第一行

org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'SqlSessionFactory' defined in class path resource [applicationContext.xml]: Invocation of init method failed; nested exception is org.springframework.core.NestedIOException: Failed to parse config resource: class path resource [mybatis.xml]; nested exception is org.apache.ibatis.builder.BuilderException: Error parsing SQL Mapper Configuration. Cause: java.io.IOException: Could not find resource com/dao/StudentDao.xml
第一种情况:

根据上述报错可以看出最表层的错误是在spring配置文件中创建SqlSessionFactory失败

看最后的引起错误的原因是Cause: java.io.IOException: Could not find resource com/dao/StudentDao.xml

是找不到mapper文件,所以想到指定mapper文件的地方,应当是mybatis的主配置文件的中,注意这里的mapper路径应该从target/classes下开始,如果这一步检查没有出错的话,另外考虑是下面这种情况

第二种情况:

一般情况下资源文件(各种xml,properites,xsd文件等)都放在src/main/resources下面,利用maven打包时,maven能把这些资源文件打包到相应的jar或者war里,但是我们为了方便一般都把mapper.xml和dao文件放在一起。

有时候,比如mybatis的mapper.xml文件,我们习惯把它和Mapper.java放一起,都在src/main/java下面,这样利用maven打包时,就需要修改pom.xml文件,来把mapper.xml文件一起打包进jar或者war里了,否则,这些文件不会被打包,maven会认为src/main/java只是java的源代码路径。

所以需要在pom.xml文件build中加入以下代码:

    
      
        src/main/resource
        
          ***.properties
        
        true
      
      
        src/main/java
        
          ***.properties
        
        true
      
    
上述代码指定程序扫描上述指定路径下的所有xml和properties文件,其他类型的配置文件也可以另外指定

修改之后发现程序可以正常运行

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/605956.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号