在创建SpringBoot项目时,项目页面报错,显示Bean错误时,原因是底层原因无法找到Mapper文件的依赖关系,导致Spring无法自动装配

Caused by: org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type 'com.example.chap03.Mapper.CommentMapper' available: expected at least 1 bean which qualifies as autowire candidate. Dependency annotations: {@org.springframework.beans.factory.annotation.Autowired(required=true)}
    at org.springframework.beans.factory.support.DefaultListableBeanFactory.raiseNoMatchingBeanFound(DefaultListableBeanFactory.java:1777) ~[spring-beans-5.3.1.jar:5.3.1]
    at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1333) ~[spring-beans-5.3.1.jar:5.3.1]
    at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1287) ~[spring-beans-5.3.1.jar:5.3.1]
    at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.inject(AutowiredAnnotationBeanPostProcessor.java:640) ~[spring-beans-5.3.1.jar:5.3.1]
    ... 71 common frames omitted

2024-03-14 22:20:32.638  INFO 18080 --- [extShutdownHook] com.alibaba.druid.pool.DruidDataSource   : {dataSource-1} closing ...
2024-03-14 22:20:32.667  INFO 18080 --- [extShutdownHook] com.alibaba.druid.pool.DruidDataSource   : {dataSource-1} closed
2024-03-14 22:20:32.668  INFO 18080 --- [extShutdownHook] o.s.s.concurrent.ThreadPoolTaskExecutor  : Shutting down ExecutorService 'applicationTaskExecutor'
Disconnected from the target VM, address: '127.0.0.1:57574', transport: 'socket'

Process finished with exit code -1
 

解决办法:

1)在SpringBoot项目下的Mapper文件添加

import org.mybatis.spring.annotation.MapperScan;

 然后再填写上@MapperScan

2)完成这一步之后,如果我们的Java运行环境(JRE)与mybatis-spring库中的MapperScan.class类文件不兼容,会报java: 无法访问org.mybatis.spring.annotation.MapperScan 错误的类文件: /D:/Program Files/apache-maven-3.6.0/repository/org/mybatis/mybatis-spring/3.0.3/mybatis-spring-3.0.3.jar!/org/mybatis/spring/annotation/MapperScan.class 类文件具有错误的版本 61.0, 应为 52.0 请删除该文件或确保该文件位于正确的类路径子目录中。的错误。

详细的解决办法见博客SpringBoot异常:类文件具有错误的版本 61.0, 应为 52.0的解决办法

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐