Mybatis 无法加载对应的Mapping映射文件

来源:互联网 发布:视频直播美颜软件 编辑:程序博客网 时间:2024/05/21 08:45

错误: tomcat启动报错日志

Caused by: org.springframework.beans.factory.BeanCreationException: Could not autowire field: private com.mall.dao.hospital_card.HospitalCardDao com.mall.service.impl.hospitalCard.HospitalCardServiceImpl.hospitalCardDao; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'hospitalCardDao' defined in URL [jar:file:/D:/Work/Working/WorkSpace/Idea/llam/mall/mall_admin/target/mall_admin/WEB-INF/lib/mall_core-0.0.1-SNAPSHOT.jar!/com/mall/dao/hospital_card/HospitalCardDao.class]: Cannot resolve reference to bean 'sqlSessionFactory' while setting bean property 'sqlSessionFactory'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sqlSessionFactory' defined in file [D:\Work\Working\WorkSpace\Idea\llam\mall\mall_admin\target\mall_admin\WEB-INF\classes\config\spring-mybatis.xml]: Initialization of bean failed; nested exception is org.springframework.beans.TypeMismatchException: Failed to convert property value of type [java.lang.String] to required type [org.springframework.core.io.Resource[]] for property 'mapperLocations'; nested exception is java.lang.IllegalArgumentException: Could not resolve resource location pattern [classpath:/com/mall/mapping/*/*.xml]: class path resource [com/mall/mapping/] cannot be resolved to URL because it does not exist    at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.inject(AutowiredAnnotationBeanPostProcessor.java:573)    at org.springframework.beans.factory.annotation.InjectionMetadata.inject(InjectionMetadata.java:88)    at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.postProcessPropertyValues(AutowiredAnnotationBeanPostProcessor.java:331)    ... 58 more

原因:

一直是不能创建bean的样子,经过一行一行地阅读报错信息。最后发现mybatis的映射xml文件居然没有找到,然后又去翻classes目录,结果果然没有,因为自己的mybatis的mapping目录是在src/main/java 在编译时没有保留配置文件,导致tomcat启动无法找到对应的目录从而报错

解决办法:

在pom文件中加入如下代码:

<build>    <resources>      <!--编译之后包含xml-->      <resource>        <directory>src/main/java</directory>        <includes>          <include>**/*.xml</include>        </includes>        <filtering>true</filtering>      </resource>    </resources></build>
阅读全文
0 0
原创粉丝点击