SpringBoot启动时报org.springframework.context.annotation.ConflictingBeanDefinitionException解决方法
来源:互联网 发布:沙钢收购大数据 编辑:程序博客网 时间:2024/06/17 14:53
在SpringBoot应用启动的过程中,因为报
org.springframework.context.annotation.ConflictingBeanDefinitionException
导致应用启动失败
错误信息:
Annotation-specified bean name 'personDubboConsumerService' for bean class [cn.com.hellowood.dubboclient.dubbo.PersonDubboConsumerService] conflicts with existing, non-compatible bean definition of same name and class [cn.com.hellowood.dubbo.PersonDubboConsumerService]
这是因为在应用中使用到了多个该类的对象,而该类的对象通过注解的方式注入到应用中,在注入的过程中因为对象的名称重复导致了该异常
通过指定注入对象的名称可以解决这个问题
- 原来的代码
@Componentpublic class PersonDubboConsumerService { @Reference(version = "1.0.0") PersonDubboService service; public void sayHello() { String name = "哈哈哈哈"; Person person = service.sayHello(name); }}
- 修改后(Component注解加上名称就可以,要和另一个bean的名称不同)
@Component("personConsumerService")public class PersonDubboConsumerService { @Reference(version = "1.0.0") PersonDubboService service; public void sayHello() { String name = "哈哈哈哈"; Person person = service.sayHello(name); }}
- 异常信息
org.springframework.beans.factory.BeanDefinitionStoreException: Failed to parse configuration class [cn.com.hellowood.DubboClientApplication]; nested exception is org.springframework.context.annotation.ConflictingBeanDefinitionException: Annotation-specified bean name 'personDubboConsumerService' for bean class [cn.com.hellowood.dubboclient.dubbo.PersonDubboConsumerService] conflicts with existing, non-compatible bean definition of same name and class [cn.com.hellowood.dubbo.PersonDubboConsumerService] at org.springframework.context.annotation.ConfigurationClassParser.parse(ConfigurationClassParser.java:181) ~[spring-context-4.3.10.RELEASE.jar:4.3.10.RELEASE] at org.springframework.context.annotation.ConfigurationClassPostProcessor.processConfigBeanDefinitions(ConfigurationClassPostProcessor.java:308) ~[spring-context-4.3.10.RELEASE.jar:4.3.10.RELEASE] at org.springframework.context.annotation.ConfigurationClassPostProcessor.postProcessBeanDefinitionRegistry(ConfigurationClassPostProcessor.java:228) ~[spring-context-4.3.10.RELEASE.jar:4.3.10.RELEASE] at org.springframework.context.support.PostProcessorRegistrationDelegate.invokeBeanDefinitionRegistryPostProcessors(PostProcessorRegistrationDelegate.java:270) ~[spring-context-4.3.10.RELEASE.jar:4.3.10.RELEASE] at org.springframework.context.support.PostProcessorRegistrationDelegate.invokeBeanFactoryPostProcessors(PostProcessorRegistrationDelegate.java:93) ~[spring-context-4.3.10.RELEASE.jar:4.3.10.RELEASE] at org.springframework.context.support.AbstractApplicationContext.invokeBeanFactoryPostProcessors(AbstractApplicationContext.java:687) ~[spring-context-4.3.10.RELEASE.jar:4.3.10.RELEASE] at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:525) ~[spring-context-4.3.10.RELEASE.jar:4.3.10.RELEASE] at org.springframework.boot.context.embedded.EmbeddedWebApplicationContext.refresh(EmbeddedWebApplicationContext.java:122) ~[spring-boot-1.5.6.RELEASE.jar:1.5.6.RELEASE] at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:693) [spring-boot-1.5.6.RELEASE.jar:1.5.6.RELEASE] at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:360) [spring-boot-1.5.6.RELEASE.jar:1.5.6.RELEASE] at org.springframework.boot.SpringApplication.run(SpringApplication.java:303) [spring-boot-1.5.6.RELEASE.jar:1.5.6.RELEASE] at org.springframework.boot.SpringApplication.run(SpringApplication.java:1118) [spring-boot-1.5.6.RELEASE.jar:1.5.6.RELEASE] at org.springframework.boot.SpringApplication.run(SpringApplication.java:1107) [spring-boot-1.5.6.RELEASE.jar:1.5.6.RELEASE] at cn.com.hellowood.DubboClientApplication.main(DubboClientApplication.java:14) [classes/:na]Caused by: org.springframework.context.annotation.ConflictingBeanDefinitionException: Annotation-specified bean name 'personDubboConsumerService' for bean class [cn.com.hellowood.dubboclient.dubbo.PersonDubboConsumerService] conflicts with existing, non-compatible bean definition of same name and class [cn.com.hellowood.dubbo.PersonDubboConsumerService] at org.springframework.context.annotation.ClassPathBeanDefinitionScanner.checkCandidate(ClassPathBeanDefinitionScanner.java:345) ~[spring-context-4.3.10.RELEASE.jar:4.3.10.RELEASE] at org.springframework.context.annotation.ClassPathBeanDefinitionScanner.doScan(ClassPathBeanDefinitionScanner.java:283) ~[spring-context-4.3.10.RELEASE.jar:4.3.10.RELEASE] at org.springframework.context.annotation.ComponentScanAnnotationParser.parse(ComponentScanAnnotationParser.java:135) ~[spring-context-4.3.10.RELEASE.jar:4.3.10.RELEASE] at org.springframework.context.annotation.ConfigurationClassParser.doProcessConfigurationClass(ConfigurationClassParser.java:287) ~[spring-context-4.3.10.RELEASE.jar:4.3.10.RELEASE] at org.springframework.context.annotation.ConfigurationClassParser.processConfigurationClass(ConfigurationClassParser.java:245) ~[spring-context-4.3.10.RELEASE.jar:4.3.10.RELEASE] at org.springframework.context.annotation.ConfigurationClassParser.parse(ConfigurationClassParser.java:198) ~[spring-context-4.3.10.RELEASE.jar:4.3.10.RELEASE] at org.springframework.context.annotation.ConfigurationClassParser.parse(ConfigurationClassParser.java:167) ~[spring-context-4.3.10.RELEASE.jar:4.3.10.RELEASE] ... 13 common frames omitted
阅读全文
0 0
- SpringBoot启动时报org.springframework.context.annotation.ConflictingBeanDefinitionException解决方法
- org.springframework.context.annotation.ConflictingBeanDefinitionException: Annotation-specified bean
- Maven项目启动时报错org.springframework.web.context.ContextLoaderListener
- 启动tomcat时报错:org.springframework.web.context.ContextLoader
- 解决在tomecat启动时报 java.lang.ClassNotFoundException: org.springframework.web.context.ContextLoaderListen
- 解决在tomecat启动时报 java.lang.ClassNotFoundException: org.springframework.web.context.ContextLoaderListen
- Context initialization failed org.springframework.context.annotation.ConflictingBeanDefinitionExcept
- tomcat运行时报错org.springframework.web.context.ContextLoaderListener找不到
- Error creating bean with name 'org.springframework.context.annotation.internalRequiredAnnotationProc
- Error creating bean with name 'org.springframework.context.annotation.internalRequiredAnnotationProc
- [org.springframework.context.annotation.AnnotationConfigBeanDefinitionParser] are only available on
- Error creating bean with name 'org.springframework.context.annotation.internalAsyncAnnotationProcess
- myeclipse配置项目出错[org.springframework.context.annotation.ComponentScanBeanDefinitionParser]
- org.springframework.context.ApplicationContextAware
- org.springframework.context.ApplicationContextAware
- org.springframework.context.ApplicationContextAware
- org.springframework.context.ApplicationContextAware
- org.springframework.context.ApplicationContextAware
- LightOJ-1002-Country Roads [最短路][Dijkstra]
- Tracert 抓包测试
- HDU 1829 A Bug's Life(带权并查集)
- 实现RxBus代替EventBus
- I
- SpringBoot启动时报org.springframework.context.annotation.ConflictingBeanDefinitionException解决方法
- Jsp-Servlet常见 两种 页面间传递数据方式(request转发和session)
- P1071 潜伏者
- Spark RDD基础(二)之常见的转化操作和行动操作及持久化
- VMware的四种网络连接模式介绍
- 最长递增子序列dp
- quartz学习笔记(一)简单入门
- vs2015连接oracle的方法
- 【C++】运行MSDEV.EXE错误0xc0000142