Bean already defined with the same name!

记一次项目启动报错 Skipping MapperFactoryBean with name ‘system_SysConfigMapper’ and ‘com.unicloud.system.mapper.SysConfigMapper’ mapperInterface. Bean already defined with the same name!

WARN  o.m.s.m.ClassPathMapperScanner - [warn,44] - Skipping MapperFactoryBean with name 'system_SysDeptMapper' and 'com.unicloud.system.mapper.SysDeptMapper' mapperInterface. Bean already defined with the same name!
09:40:19.127 [restartedMain] WARN  o.m.s.m.ClassPathMapperScanner - [warn,44] - Skipping MapperFactoryBean with name 'system_SysDictDataMapper' and 'com.unicloud.system.mapper.SysDictDataMapper' mapperInterface. Bean already defined with the same name!
09:40:19.127 [restartedMain] WARN  o.m.s.m.ClassPathMapperScanner - [warn,44] - Skipping MapperFactoryBean with name 'system_SysDictTypeMapper' and 'com.unicloud.system.mapper.SysDictTypeMapper' mapperInterface. Bean already defined with the same name!
09:40:19.127 [restartedMain] WARN  o.m.s.m.ClassPathMapperScanner - [warn,44] - Skipping MapperFactoryBean with name 'system_SysLogininforMapper' and 'com.unicloud.system.mapper.SysLogininforMapper' mapperInterface. Bean already defined with the same name!
09:40:19.127 [restartedMain] WARN  o.m.s.m.ClassPathMapperScanner - [warn,44] - Skipping MapperFactoryBean with name 'system_SysMenuMapper' and 'com.unicloud.system.mapper.SysMenuMapper' mapperInterface. Bean already defined with the same name!
09:40:19.127 [restartedMain] WARN  o.m.s.m.ClassPathMapperScanner - [warn,44] - Skipping MapperFactoryBean with name 'system_SysNoticeMapper' and 'com.unicloud.system.mapper.SysNoticeMapper' mapperInterface. Bean already defined with the same name!
09:40:19.127 [restartedMain] WARN  o.m.s.m.ClassPathMapperScanner - [warn,44] - Skipping MapperFactoryBean with name 'system_SysOperLogMapper' and 'com.unicloud.system.mapper.SysOperLogMapper' mapperInterface. Bean already defined with the same name!
09:40:19.127 [restartedMain] WARN  o.m.s.m.ClassPathMapperScanner - [warn,44] - Skipping MapperFactoryBean with name 'system_SysPostMapper' and 'com.unicloud.system.mapper.SysPostMapper' mapperInterface. Bean already defined with the same name!
09:40:19.127 [restartedMain] WARN  o.m.s.m.ClassPathMapperScanner - [warn,44] - Skipping MapperFactoryBean with name 'system_SysRoleDeptMapper' and 'com.unicloud.system.mapper.SysRoleDeptMapper' mapperInterface. Bean already defined with the same name!
09:40:19.127 [restartedMain] 

报错很多,但对项目启动没有影响
提示Bean注入重复了,我们就先从注入Bean的地方查找原因
指向的是Mapper文件,我们索性直接全局搜 @MapperScan【全局搜ctrl shift+F 】

搜到两处
在这里插入图片描述
在这里插入图片描述

很明显重复扫描了,我们只需要注释一处,即可解决
注释之后重新启动,发现大部分不报错了,只有个别mapper文件还在报错,我们点进去看看!

发现!!!!
在这里插入图片描述

然后把@mapper文件注释了就好

问题解决

  • 11
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
### 回答1: 这句话的意思是“bean已经使用相同的名称定义过了!”。在Java编程中,bean是指Java对象,而在一个程序中,如果使用相同的名称定义了两个或多个bean,就会出现这个错误。这通常是由于代码中的重复定义或错误的命名所导致的。为了解决这个问题,需要检查代码中的所有bean定义,并确保它们都有唯一的名称。 ### 回答2: bean already defined with the same name!是一个常见的Java错误信息,通常表示在应用程序中同时存在多个具有相同名称的Java Bean。Java Bean主要指在Java中创建的可重用的、可序列化的、基于模型的POJO类。Java Bean通常用于在应用程序中传递和管理数据,对于大型复杂的应用程序来说非常重要。 在Java应用程序中出现bean already defined with the same name!的错误通常是由于在一个Java文件或多个Java文件中定义了多个Bean,并尝试将它们注册到同一个容器中。这样做会导致容器无法区分哪个Bean应该被实例化,从而抛出这个错误信息。 要解决这个错误,可以先检查Java程序中是否有多个Bean类定义了相同的名称,如果有的话,将它们重命名。另外,还可以通过检查应用程序的配置文件和部署描述符来查看是否存在重复的Bean定义。如果找到了这些重复定义的Bean,同样需要进行重命名处理,以确保它们的名称不会冲突。 总之,解决bean already defined with the same name!的错误,需要仔细检查应用程序中的所有Bean定义,并确保它们的名称是唯一的,不会发生冲突。只有这样,我们才能保证Java应用程序的正常运行。 ### 回答3: “bean already defined with the same name!”的意思是“该名字的bean已经被定义过了!”。这通常是指在一个Java程序中,出现了重复定义的bean对象。一个bean对象是一个被Java程序特别设计的用于从数据库、文件或其他数据源获取数据的对象。当定义一个bean时,需要为它设置一个唯一的名称,以便在程序中引用它。 当一个bean对象被定义时,它会被存储在一个JavaBean容器中。如果在程序中存在两个或更多bean对象拥有相同的名称,那么JavaBean容器就不知道该引用哪一个对象了,于是就会抛出“bean already defined with the same name”这样的错误消息。 要解决这个问题,最简单的方法就是确保所有的bean对象都有唯一的名称。这可以通过修改bean的名称来实现。如果有多个bean对象的名称相同,那么我们可以通过修改某一个bean的名称,来区分这些对象。另外,我们也可以删除冲突的bean对象,这样就能够避免名称冲突的问题了。 此外,我们也可以尝试使用不同的JavaBean容器来解决该问题。通过将bean对象分别存储在不同的容器中,我们就能够避免同名bean对象的冲突了。 总的来说,“bean already defined with the same name”是一个提醒我们bean对象名称冲突的错误信息。我们需要小心设置bean对象的名称,并确保每个bean对象都有唯一的名称,以避免这个问题的出现。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值