Skipping MapperFactoryBean with name ‘xxx‘ and ‘xxx‘. Bean already defined with the same name’警告

给Spring Boot项目配置日志文件后,warn日志报错。资料显示可能因XXMapper类加@Mapper注解及启动文件有@MapperScan导致,有两种解决方案。但作者Mapper文件无此注解,后发现多个微服务启动类的@MapperScan配置有包含关系,解决方案是删除其中一个。

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

SpringBoot启动报Bean already defined with the same name

问题描述

给SpringBoot项目配置了日志文件后。发现warn日志中总是报如下错误:
在这里插入图片描述
查资料,发现有的同学说是因为XXMapper类增加了@Mapper注解。
例如:
在这里插入图片描述
而且,SpringBoot的启动文件中也又 @MapperScan
在这里插入图片描述

那么,解决办法如下两种方案:

1)删除所有xxxMapper.java文件中的@Mapper注解,只保留启动类中的@MapperScan。
2)与1相反,删除启动类中的@MapperScan。只保留xxxMapper.java文件中的。

然鹅,我的Mapper文件并没有这样的注解。
然后,再联想到我的项目中启动类在多个微服务中都有。
A微服务启动文件中的@MapperScan配置如下:

@MapperScan("com.a.b.c.**.dao")

B微服务引用了A微服务,且启动类文件配置的@MapperScan如下:

@MapperScan("com.a.b.**.dao")

很显然,B中的@MapperScan包含了A中的@MapperScan。

解决方案:
删除其中一个呗。哈哈 ^_^

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值