问题起因:

开发过程中更新代码 就报错了(整个项目运行不起来)。

报错信息如下:

Annotation-specified bean name 'fileUploadDispatcher' for bean class [com.echo.test.FileUploadDispatcher] conflicts with existing, non-compatible bean definition of same name and class [com.echo.util.FileUploadDispatcher]

原因:

在项目中 不同路径下 存在相同的组件名。

原理:

在加载bean的时候 默认有个校验机制,SpringMVC中bean的加载 是采用类似 键值对(key/value)的映射方式存储的,而当中的(key)键,默认是用类名来作为键的(如果不取别名的话)。这样 如果不同包路径下的 两个组件(controller/service)重名的话 就会触发这个校验机制,抛异常。

源代码如下:
protected boolean checkCandidate(String beanName, BeanDefinition beanDefinition) throws IllegalStateException {
if (!this.registry.containsBeanDefinition(beanName)) {
return true;
}
BeanDefinition existingDef = this.registry.getBeanDefinition(beanName);
BeanDefinition originatingDef = existingDef.getOriginatingBeanDefinition();
if (originatingDef != null) {
existingDef = originatingDef;
}
if (isCompatible(beanDefinition, existingDef)) {
return false;
}
throw new ConflictingBeanDefinitionException("Annotation-specified bean name '" + beanName +
"' for bean class [" + beanDefinition.getBeanClassName() + "] conflicts with existing, " +
"non-compatible bean definition of same name and class [" + existingDef.getBeanClassName() + "]");
}
解决方案:
取别名。
例如 
@Component("FileUploadDispatcherDemo")
public class FileUploadDispatcher {}
同理,对于 Controller/service/dao 都一样

non-compatible bean definition of same name and class [com.echo.util.FileUploadDispatcher]相关推荐

  1. conflicts with existing, non-compatible bean definition of same name and class

    Annotation-specified bean name 'xxxxxImpl' for bean class [cn.abc.dao.service.xxxxxImpl] conflicts w ...

  2. Invalid bean definition with name ‘dataSourceCSS‘ dfined in class path resource[xxx]

    问题:Invalid bean definition with name 'dataSourceCSS' dfined in class path resource[aaa]:Could not re ...

  3. 运行web项目提示异常:non-compatible bean definition of same name and class【com.xxx.xxx.XXX】

    情景描述:报错提示non-compatible bean definition of same name and class[com.xxx.xxx.XXX]但在代码中并未发现指定的bean有冲突 原 ...

  4. Spring错误——Spring 注解——factory-bean reference points back to the same bean definition

    背景:学习Spring,在使用注解@Bean的name属性配置<bean>实例时,不能注册实例成功 报错 WARNING: Exception encountered during con ...

  5. Cannot enhance @Configuration bean definition ‘dataSourceConfig‘ since its singleton instanc .......

    1.背景 Springboot+mybatis配置多数据源时启动提示以下信息: [ restartedMain] o.s.c.a.ConfigurationClassPostProcessor : C ...

  6. Spring Cloud Stream报错:Invalid bean definition with name:bean definition with this name already exist

    当想使用 Spring Cloud Stream 让微服务自己生产的消息自己消费时,如果使用的@Input("xxx")与@Output("xxx")注解中的& ...

  7. SpringBoot的Bean Definition 生成过程(源码分析)

    1.目的: 从源码的角度分析整个springboot的启动流程.了解springboot项目在整个启动过程都干了一些什么. 因为spring项目的启动主要是分为两步,一个是bean definitio ...

  8. Bean Definition 生成过程详解

    目录 1.目标: 2.整体预览: 3.bean Definition的种类分析 4.第一类bean Definition(框架硬编码的) 5.第二类bean Definition(程序员自己写的bea ...

  9. Bean Definition到底是什么,附spring思维导图分享

    写在前面的话&&About me 网上写spring的文章多如牛毛,为什么还要写呢,因为,很简单,那是人家写的:网上都鼓励你不要造轮子,为什么你还要造呢,因为,那不是你造的. 我不是要 ...

最新文章

  1. query插件之ajaxForm ajaxSubmit的理解用法
  2. asp.net中的记忆盲区
  3. Wintel物联网平台-Windows IoT新手入门指南
  4. mongodb安装_Windows系统安装运行Mongodb服务
  5. Android官方开发文档Training系列课程中文版:APP的内存管理
  6. 信息学奥赛一本通(2060:【例1.1】计算机输出)
  7. [Python] 将两个列表合并为字典
  8. Graphical Model(概率图模型)的浅见
  9. Astah Professional UML 建模工具2022版
  10. C++ 语言指针 (pointer)
  11. 2020年11月软考网络规划设计师上午真题及答案解析
  12. 当 webpack 遇上 symlink
  13. 下载谷歌浏览器旧版本的方法
  14. 怎么用clear case?
  15. 最新WIN10 64位21H2正式版19044.2006
  16. css背景上能添加文字,如何利用div+css来给背景图片上文字布局
  17. 7-35 猴子吃桃问题 (15 分) 一只猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个;第二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下的一半加一个。到
  18. HDU 6595 Everything Is Generated In Equal Probability(概率+组合数)
  19. 自动控制原理笔记(5)——线性系统的根轨迹法
  20. 新沂市一中计算机教室,新沂城市论坛『民意民声』记新沂市第一中学教师苗庆硕 - Powered by Discuz!...

热门文章

  1. 昨天看《天使爱美丽》
  2. X006---交叉表(Cross Tab)和转置(Transpose)
  3. IOS版Telegram启用中文界面的方法
  4. 用VMware安装Windows 8.x虚拟机镜像系统详细流程
  5. 编译超频Android内核,安卓超频工具apk下载
  6. 【离散数学】一阶/谓词逻辑思维导图
  7. 前端面试送命题-JS三座大山
  8. 小程序直接跳转公众号的必要条件记录
  9. 计算机蓝屏无法启动代码50,win7系统出现蓝屏代码0x0000050怎么解决
  10. facebook广告后台设置