解决:Spring启动时注入失败
在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启动时注入失败相关推荐
- Spring——Filter过滤器注入Bean时注入失败[NULL]
问题描述 Spring中Filter注入Bean时注入失败,Bean一直为空. @Slf4j @Component public class RestAuthFilter extends FormAu ...
- Spring Boot 2 (七):Spring Boot 如何解决项目启动时初始化资源
Spring Boot 2 (七):Spring Boot 如何解决项目启动时初始化资源 在项目启动的时候需要做一些初始化的操作,比如初始化线程池,提前加载好加密证书等.今天就给大家介绍一个 Spri ...
- haproxy启动时提示失败
haproxy启动时提示失败: [ALERT] 164/110030 (11606) : Starting proxy linuxyw.com: cannot bind socket 这个问题,其实就 ...
- 解决ArcMap启动时只停留在初始化界面的方法
解决ArcMap启动时只停留在初始化界面的方法 参考文章: (1)解决ArcMap启动时只停留在初始化界面的方法 (2)https://www.cnblogs.com/luwl/p/6899342.h ...
- 解决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 ...
- 解决minikube启动时若干问题
解决minikube启动时若干问题 参考文章: (1)解决minikube启动时若干问题 (2)https://www.cnblogs.com/zhongpan/p/8630727.html 备忘一下 ...
- 解决MyEclipse2015启动时:Java was started but returned exit code=1问题
解决MyEclipse2015启动时:Java was started but returned exit code=1问题 参考文章: (1)解决MyEclipse2015启动时:Java was ...
- mysql手动启动1067错误_解决MySQL启动时万恶的1067错误(转)
解决MySQL启动时万恶的1067错误(转)[@more@]我的机器不知为何,安装MySQL的时候,一到配置那一步就无休止的等待,只好结束任务,然而启动MySQL的时候出现1067错误提示.卸载,依然 ...
- 一起来玩树莓派--解决树莓派启动时屏幕不亮的问题
解决树莓派启动时屏幕不亮的问题 问题描述 问题分析 解决方法 问题描述 最近因为比赛需要入手了一款树莓派3B+(没买4代的原因是还有一个月才能到货,哭),兴奋的不得了,但是在装系统的时候就遇到了一个耽 ...
最新文章
- Myeclipse 2015 stable 2.0 完美破解方法
- 《系统集成项目管理工程师》必背100个知识点-23整体变更控制流程
- gba徽章机器人_徽章战士GBA攻略
- 字符串反转python_Python实现字符串反转的几种方法
- python详细安装教程-python详细安装pip教程
- ES6字符串的扩展方法~超详细哦
- 十年 IT 老兵告诉你如何快速构建可直接落地、基于开源的低成本架构!
- scala中一些常见用法
- OSG读取Tif格式的高程数据
- Latex论文复杂组合图片设计
- A Game of Thrones(46)
- Linux 启动定时任务配置
- windows系统安装Racket后使用raco指令
- 机器学习-知识点总结
- 验证码时代 玩家是否也应选择远程答题
- python 远程关机_Python 远程开关机
- 开源 ,我们需要什么样的创新?
- 合泰HT32F52352串口通信学习笔记
- STM32F407通过SPI连接W5100S进行TCP网络通信
- python少儿趣味编程 pdf-趣学python编程
热门文章
- android studio 修改idea.properties
- ESP32 Arduino开发之路(2)— 使用PWM实现LED呼吸灯
- PDF怎么转成PPT格式文件的简单方法
- java flowlayout 左对齐_java – FlowLayout的顶部对齐
- IOS 实现3D Touch在tableView的简单应用
- weixin java tools_微信工具weixin-java-tools的使用总结
- 前端传过来集合,后端如何接
- 比对软件|Samtools
- Talend 使用thttpRequest请求json数据,并使用tExtractJSONFields解析数据
- [音乐天堂]秋日私语