问题描述
在运行springboot项目时出现如下报错,显示创建Bean错误
重新检查了mapper,service和controller都没有发现问题,注解都加上了
解决办法
最后在控制台的spring日志中看到了一句话
2024-05-07T15:34:11.443+08:00 WARN 3912 --- [ main] o.m.s.mapper.ClassPathMapperScanner : No MyBatis mapper was found in '[org.service]' package. Please check your configuration.
说白了就是没有扫到Mapper包,那我们手动添加MapperScan扫描即可
总结
通常情况下,当使用了 @Mapper 注解标记了 MyBatis 的 Mapper 接口,但 Spring Boot 仍无法扫描到并显示类似 "No MyBatis mapper was found in '[org.service]' package. Please check your configuration." 的警告时,可能有以下几个常见原因:
1. 包扫描路径配置错误:请确保在 @MapperScan 注解或者 MapperScan 配置类中正确指定了 Mapper 接口所在的包路径。如果包路径配置错误,Spring Boot 将无法正确扫描到 Mapper 接口。
2. Mapper 接口位置不正确:确保 @Mapper 注解标记的接口确实位于指定的包路径下,并且包路径与配置一致。如果接口放置在了错误的包中,Spring Boot 也无法正确扫描到。
3. MyBatis 配置文件缺失:如果使用 XML 文件来配置 MyBatis 的 Mapper 映射关系,需要确保配置文件的位置和命名规范正确。MyBatis 需要正确的 XML 配置文件来映射 Mapper 接口。
4. MyBatis 配置错误:检查 MyBatis 的配置文件中是否正确配置了 Mapper 接口的扫描路径和映射关系。
在排查问题时,建议逐一检查以上可能的原因,确保配置和代码都没有问题。希望这些信息能帮助你解决问题