解决方案 --[restartedMain] o.s.b.d.LoggingFailureAnalysisReporter :

简介: Error starting ApplicationContext. To display the conditions report re-run your application with 'debug' enabled. ERROR 9680 --- [ restartedMain] o.s.b.d.LoggingFailureAnalysisReporter

问题描述:

Error starting ApplicationContext. To display the conditions report re-run your application with 'debug' enabled.

ERROR 9680 --- [  restartedMain] o.s.b.d.LoggingFailureAnalysisReporter  

问题分析

这个问题在网上找到很多方法,多半都是删除某某依赖,或者更改依赖版本,或者添加:(exclude={DataSourceAutoConfiguration.class, HibernateJpaAutoConfiguration.class})

但是笔者使用上述方法后仍然不管用,依然存在这个问题。

在这上面debug弄了一个小时,这时候,终于想起来看看IDEA的错误提示

给的提示是:

Description:

Field userRepository in com.example.usermanag.service.UserServiceImp required a bean of type

'com.example.usermanag.repository.UserRepository' that could not be found.

The injection point has the following annotations:

   - @org.springframework.beans.factory.annotation.Autowired(required=true)

Action:

Consider defining a bean of type

'com.example.usermanag.repository.UserRepository' in your configuration.

仔细阅读,可以发现关键在The injection point has the following annotations:  @org.springframework.beans.factory.annotation.Autowired(required=true)这句话。

笔者回溯代码时才发现有个地方用了@Autowired 进行自动注入,查阅官方文档和其他博客,发现错误的原因在于:

spring framerwork 4.0以后就不推荐使用属性注入,改为推荐构造器注入和setter注入,因为属性注入方式容易出现循环依赖问题,即A注入B,B注入C,C注入A,这种情况很容易会报异常。

# 解决方案

法一:将@Autowired 改为 @Qualifier 进行注入

法二:将@Autowired 改为setter方式注入

法三:老老实实new对象,不使用自动注入

法四:应该还是可以继续以另外的方式使用@Autowired(这点暂时笔者也不会,等待各位补充)

类似错误但是是其他问题:请一定要看错误信息

相关文章
|
8月前
|
存储 编解码 监控
报告厅解决方案
大型单位、企业都建有报告厅,单位搭建报告厅的目的是为了召开各类会议、学术讨论、演讲、报告、新闻发布、多媒体教学培训、观看电影等活动提供卓越的音质效果、清晰的画面显示以及简单便捷的集中控制。报告厅通常会涉及举办活动时将现场画面的保存记录、活动画面以直播的形式在报告厅之外的其他屏幕上观看(因为报告厅容纳人数有限的原因)。针对这两个需求我们做了以下解决方案
|
网络协议 数据安全/隐私保护
开发中遇到的问题&解决方案(七)
邮件发送相信大家都不陌生吧,一般是用于电商平台比如京东下单后订单信息的邮件发送或者移动这种的月度账单的邮件发送,再有就是通过绑定的邮箱进行密码重置,由邮箱跳转到指定的密码重置页进行密码重置操作。那么下面我们来看看hutool里对于邮件发送的包装是怎么样的。
163 0
开发中遇到的问题&解决方案(七)
|
SQL NoSQL Oracle
开发中遇到的问题&解决方案(二)
一个软件系统最重要的是什么?毫无疑问是数据,那什么是数据的'运载体',什么作为后端与数据库的桥梁和沟通者呢,是SQL。我是Java开发出身,大学课程当时学习的是SQL Server,而且后面工作中实际用到过Oracle,DB2以及使用的最普遍的My SQL,至于No SQL 这一类下的常用的就是Redis和MongoDB了,这些后面再详细举例说明。今天讲的案列与表情相关,那么接下来进入今天的主题。
135 0
开发中遇到的问题&解决方案(二)
|
Java Linux 数据安全/隐私保护
开发中遇到的问题&解决方案(六)
之前的项目里有用到FTP,需要使用FTP把图片及一些必要文件上传到第三方的FTP服务器上,所以会涉及FTP连接,创建用户,创建文件夹,文件上传等,项目里选用的还是hutool包装的FTP工具类,下面来看看这些功能的在hutool里是怎么包装的。
457 0
开发中遇到的问题&解决方案(六)
开发中遇到的问题&解决方案(四)
今天继续hutool工具类的认识,废话不多说下面直接进入主题。
253 0
开发中遇到的问题&解决方案(四)
|
Java
开发中遇到的问题&解决方案(八)
以前的一个老项目里使用过ZXing进行会员和门店二维码的生成操作,当时出现过Java版本升级后不兼容的问题,很是麻烦,于是替换成了hutool里的二维码生成,下面我们来看看具体的实现。
173 0
开发中遇到的问题&解决方案(八)
|
安全 机器人 数据安全/隐私保护
开发中遇到的问题&解决方案(九)
在我们的系统里验证码是必不可少的,比如注册登录时,忘记密码时,设置支付密码时或者支付下单时,那验证码的作用在哪里呢?其实就一条为了防止来着黑客和机器人恶意的攻击,那么下面我们来看看hutool里验证码工具类。
216 0
开发中遇到的问题&解决方案(九)
|
设计模式 前端开发 Java
开发中遇到的问题&解决方案(一)
在开发过程在我们往往会遇到很多的开发阻碍或者因为原生框架的不支持导致的一系列问题或者有的不是问题,是我们使用普通的大量的复制粘贴改改就能用的代码去实现功能,这样使得代码很冗余,我们能不能去尝试找一些好的方案比如采用设计模式这些去优化我们的代码,实现代码简洁明了,易扩展呢?答案是肯定的。这个系列文章会使用案列加解决方案的形式为大家讲解,那下面我们开始吧。
672 0
开发中遇到的问题&解决方案(一)
|
人工智能 并行计算 算法
化工行业解决方案
针对化工产业的发展现状和问题,必须把绿色发展、责任关怀、包容性发 展等作为重点,整体推进全行业的转型升级和可持续发展。数字化将成为 这一转型过程的关键推动力。
化工行业解决方案