在Spring启动时会帮我们自动装配一些组件,依赖注入,此时如果项目中自己定义的类名有相同的,或者自己定义的类名与引入的第三方包有相同的,就会引发冲突,原因是Spring在帮我们管理这些Bean时不知道使用的到底是哪一个,就会在启动时报错

常见异常:

Caused by: org.springframework.context.annotation.ConflictingBeanDefinitionException

Action:
Consider renaming one of the beans or enabling overriding by setting

… …

解决

方式一:

注入时在类上指定名称,如:@Service(value = “testExcludeClass”),再按名称进行注入

@Autowired
@Qualifier(name = "testExcludeClass")
private TestExcludeClass testExcludeClass;
@Resource(name = "testExcludeClass")
private TestExcludeClass testExcludeClass;
方式二:

在配置类的方法上使用@Bean和@Primary,指定优先使用该Bean注入,注意在主启动类配置@ComponentScan注解,指明扫描哪些包或类

@Configuration
public class Config {@Bean@Primarypublic DataSourceProxy dataSourceProxy(DruidDataSource dataSource) {return new DataSourceProxy(dataSource);}
}
// 扫描包
@ComponentScan(basePackages = {"com.bwone.demo"})
// 扫描类
@ComponentScan(basePackageClasses= {com.bwone.demo.Config.class})
方式三:

在主启动类的@SpringBootApplication注解上使用exclude属性,指明启动时自动装配排除哪些包或类

@SpringBootApplication(exclude = "com.bwone.demo.TestExcludeClass")
方式四:

YML配置文件设置属性

spring:# 后发现的bean会覆盖先发现的beanmain:allow-bean-definition-overriding: true
方式五:

可能由于Jar包冲突导致,检查是否引入相同的Jar包

解决:Spring启动时注入失败相关推荐

  1. Spring——Filter过滤器注入Bean时注入失败[NULL]

    问题描述 Spring中Filter注入Bean时注入失败,Bean一直为空. @Slf4j @Component public class RestAuthFilter extends FormAu ...

  2. Spring Boot 2 (七):Spring Boot 如何解决项目启动时初始化资源

    Spring Boot 2 (七):Spring Boot 如何解决项目启动时初始化资源 在项目启动的时候需要做一些初始化的操作,比如初始化线程池,提前加载好加密证书等.今天就给大家介绍一个 Spri ...

  3. haproxy启动时提示失败

    haproxy启动时提示失败: [ALERT] 164/110030 (11606) : Starting proxy linuxyw.com: cannot bind socket 这个问题,其实就 ...

  4. 解决ArcMap启动时只停留在初始化界面的方法

    解决ArcMap启动时只停留在初始化界面的方法 参考文章: (1)解决ArcMap启动时只停留在初始化界面的方法 (2)https://www.cnblogs.com/luwl/p/6899342.h ...

  5. 解决Tomact启动时问题 Port 8080 required by Tomcat v8.0 Server at localhost is already in use.

    解决Tomact启动时问题 Port 8080 required by Tomcat v8.0 Server at localhost is already in use. 参考文章: (1)解决To ...

  6. 解决minikube启动时若干问题

    解决minikube启动时若干问题 参考文章: (1)解决minikube启动时若干问题 (2)https://www.cnblogs.com/zhongpan/p/8630727.html 备忘一下 ...

  7. 解决MyEclipse2015启动时:Java was started but returned exit code=1问题

    解决MyEclipse2015启动时:Java was started but returned exit code=1问题 参考文章: (1)解决MyEclipse2015启动时:Java was ...

  8. mysql手动启动1067错误_解决MySQL启动时万恶的1067错误(转)

    解决MySQL启动时万恶的1067错误(转)[@more@]我的机器不知为何,安装MySQL的时候,一到配置那一步就无休止的等待,只好结束任务,然而启动MySQL的时候出现1067错误提示.卸载,依然 ...

  9. 一起来玩树莓派--解决树莓派启动时屏幕不亮的问题

    解决树莓派启动时屏幕不亮的问题 问题描述 问题分析 解决方法 问题描述 最近因为比赛需要入手了一款树莓派3B+(没买4代的原因是还有一个月才能到货,哭),兴奋的不得了,但是在装系统的时候就遇到了一个耽 ...

最新文章

  1. Myeclipse 2015 stable 2.0 完美破解方法
  2. 《系统集成项目管理工程师》必背100个知识点-23整体变更控制流程
  3. gba徽章机器人_徽章战士GBA攻略
  4. 字符串反转python_Python实现字符串反转的几种方法
  5. python详细安装教程-python详细安装pip教程
  6. ES6字符串的扩展方法~超详细哦
  7. 十年 IT 老兵告诉你如何快速构建可直接落地、基于开源的低成本架构!
  8. scala中一些常见用法
  9. OSG读取Tif格式的高程数据
  10. Latex论文复杂组合图片设计
  11. A Game of Thrones(46)
  12. Linux 启动定时任务配置
  13. windows系统安装Racket后使用raco指令
  14. 机器学习-知识点总结
  15. 验证码时代 玩家是否也应选择远程答题
  16. python 远程关机_Python 远程开关机
  17. 开源 ,我们需要什么样的创新?
  18. 合泰HT32F52352串口通信学习笔记
  19. STM32F407通过SPI连接W5100S进行TCP网络通信
  20. python少儿趣味编程 pdf-趣学python编程

热门文章

  1. android studio 修改idea.properties
  2. ESP32 Arduino开发之路(2)— 使用PWM实现LED呼吸灯
  3. PDF怎么转成PPT格式文件的简单方法
  4. java flowlayout 左对齐_java – FlowLayout的顶部对齐
  5. IOS 实现3D Touch在tableView的简单应用
  6. weixin java tools_微信工具weixin-java-tools的使用总结
  7. 前端传过来集合,后端如何接
  8. 比对软件|Samtools
  9. Talend 使用thttpRequest请求json数据,并使用tExtractJSONFields解析数据
  10. [音乐天堂]秋日私语