could not autowire.No beans of XXX type found.编译不通过

本文解决了一个基于开源项目开发时遇到的问题:在自定义业务逻辑后,出现MyBatis Mapper注入失败的情况。问题根源在于混淆了不同框架的Mapper注解,将MapStruct的@Mapper误用于MyBatis。通过调整注解引用,将导入的包从MapStruct的Mapper改为MyBatis的Mapper,成功解决了注入问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

常见这个错误编译不通过要么是缺@mapper@service之类的注解,要么是启动类没扫到。但是两者我都检查过还是编译不通过,出错自某个impl注入dao失败。
因为是基于某个开源项目做开发,源代码是没有问题,加了自己的业务就有这个报错,看了下原有的dao.xml的namespace扫的dao
在这里插入图片描述

再看出错的dao对应的xml,发现扫到的dao没有@mapper…说明确实没有注入,但RegulatoryPlatformServiceDao上是写有@mapper的
在这里插入图片描述

点进第一张图里的去看,发现人家原来@mapper引的依赖是ibatis里的。。。
在这里插入图片描述
而我加的dao引的是import org.mapstruct.Mapper
改成import org.apache.ibatis.annotations.Mapper就好了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值