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

错误: 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>
      
      <resource>
        <directory>src/main/javadirectory>
        <includes>
          <include>**/*.xmlinclude>
        includes>
        <filtering>truefiltering>
      resource>
    resources>
build>

你可能感兴趣的:(mybatis,tomcat)