SpringBoot启动失败的解决方法:A component required a bean of type ‘xxxxxxx‘ that could not be found.
目录
- 问题描述
- 分析问题
- 解决问题
- 不注入bean的方式
- 使用@Component
- 扩展:@Component解释说明
问题描述
今天写了一个MD5加密加盐工具类,运用到实际业务代码中缺报错了,内容如下:
***************************
APPLICATION FAILED TO START
***************************Description:
A component required a bean of type 'com.wyh.util.SaltMD5Util' that could not be found.
Action:
Consider defining a bean of type 'com.wyh.util.SaltMD5Util' in your configuration.

分析问题
根据错误日志不难发现,其实是因为组件没有被找到。因为这个工具类是我自己写的。
然后我就去检查代码,最终发现,我把这个工具类以注解的形式注入进来并使用

但是,这个工具类里面,我没有标明这个工具类是一个bean文件。所以项目扫描不到,就报了错。
解决问题
想要解决这种问题也十分的简单,目前想到两种方式
不注入bean的方式
我们可以换种思路,不注入bean文件,直接通过工具类下的方法直接调用

使用@Component
如果觉得直接调用工具类下的方法不舒服,非要使用bean的方式,name可以使用@Component注解
直接修饰类文件即可。
注意,不要引用错哦,用的是下面这个注解
import org.springframework.stereotype.Component;

再次重启解决问题。

扩展:@Component解释说明
@Component是spring中的一个注解,它的作用就是实现bean的注入。在Java的web开发中,提供3个@Component注解衍生注解(功能与@component一样)分别是:
1、@Controller 控制器(注入服务) 用于标注控制层,相当于struts中的action层。
2、@Service 服务(注入dao) 用于标注服务层,主要用来进行业务的逻辑处理
3、@Repository(实现dao访问) 用于标注数据访问层,也可以说用于标注数据访问组件,即DAO组件
而@Component泛指各种组件,就是说当我们的类不属于各种归类的时候(不属于@Controller、@Services等的时候),我们就可以使用@Component来标注这个类。
到此这篇关于解决SpringBoot启动失败:A component required a bean of type ‘xxxxxxx‘ that could not be found.的文章就介绍到这了,更多相关SpringBoot启动失败内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!
相关推荐
-
SpringBoot对不同Bean注解的区别和使用场景说明
目录 对不同Bean注解的区别和使用场景 什么是Bean? 注解@Bean @Component …等都有什么区别? SpringBoot注入对象冲突如何解决? SpringBoot的各种注解 @Configuration 总结 对不同Bean注解的区别和使用场景 什么是Bean? 谈Bean的潜台词是在说Spring中的Bean,我们都知道Spring中的BeanFactory,而Bean这个概念也是由此而来.在Spring中,只要一个类能被实例化,并被Spring容器管理,这个类就称为一个B
-
Springboot项目中单元测试时注入bean失败的解决方案
目录 Springboot项目中单元测试时注入bean失败 问题背景 问题描述 问题解决 Springboot单元测试,注入失败,报空指针错误 下面是测试类 Springboot项目中单元测试时注入bean失败 问题背景 最近公司项目搭了一个springboot项目进行开发,在单元测试时,由于生成项目后可能哪个同事把项目生产的test文件目录删了,也不知道是项目生成时test目录没有生成,需要自己建立一个test目录进行测试. 就是下图中的红框部分... 问题描述 在上图中的test目录建好之后
-
解决springboot启动报错bean找不到的问题
目录 springboot启动报错bean找不到的原因解决 一.普通的dao,service对应的实例bean不存在 报错示例: 解决方案: 二.由于bean的加载顺序和配置文件的关系 补充:Springboot启动报错之类文件具有错误的版本 61.0, 应为 52.0 启动Springboot项目时候报错 原因 总结: springboot启动报错bean找不到的原因解决 一.普通的dao,service对应的实例bean不存在 报错示例: 1.Failed to configure a Da
-
SpringBoot Bean花式注解方法示例下篇
目录 1.容器初始化完成后注入bean 2.导入源的编程式处理 3.bean裁定 拓展 4.最终裁定 1.容器初始化完成后注入bean import lombok.Data; import org.springframework.stereotype.Component; @Component("miao") @Data public class Cat { } 被注入的JavaBean import org.springframework.context.annotation.Con
-
SpringBoot加载bean的八种方式总结
目录 第一种bean的加载方式-配置文件 第二种加载bean方式-注解和扫描 第三种加载bean方式-不使用配置文件 扩展-bean的加载方式扩展FactoryBean<> 扩展-@ImportResource导入配置文件 扩展-proxyBeanMethods属性-产生代理对象 第四种加载bean方式-使用@Import 第五种加载bean方式-registerBean 第六种加载bean方式-实现ImportSelector接口 第七种加载bean方式-实现ImportBeanDefini
-
mysql启动提示mysql.host 不存在,启动失败的解决方法
error 日志当中的记录: [ERROR] Fatal error: Can't open and lock privilege tables: Table 'mysql.host' doesn't exist 从发了帖子,只有人看,没有人回复,看到这种情况只能自己解决问题了,自己动手丰衣足食吗, 嗯... 你还别说,还真让我解决了问题,人啊,都是逼出来的,....没有办法,这个问题对于高手可能是很简单的问题 ,但是对我第一次摸mysql,确实怎么也弄不懂的问题. 好了闲话不多说 说一下我解决
-
mysql5.7.18安装时mysql服务启动失败的解决方法
MySQL 是一个非常强大的关系型数据库.但有些初学者在安装配置的时候,遇到种种的困难,在此就不说安装过程了,说一下配置过程.在官网下载的mysql时候,有msi格式和zip格式.Msi直接运行安装即可,zip则解压在自己喜欢的目录地址即可.在安装这两种的时候,都需要配置才能用.以下介绍主要是msi格式默认的地址:C:\Program Files\ mysql-5.7.18-win32. 一.在安装或者解压后,需要配置环境变量,过程如下:我的电脑->属性->高级系统设置->高级->
-
cwrsync server 服务启动失败的解决方法小结
经过测试,原来是因为服务器自动重启时没有停止cwrsync server,如果突然重启就会造成这个错误,如果出现了这个问题,我们可以通过删除.pid 文件即可. 故障一: 事件类型: 错误 事件来源: RsyncServer 事件种类: 无 事件 ID: 0 日期: 2009-10-19 事件: 9:57:20 用户: NT AUTHORITY\SYSTEM 计算机: SVCTAG-3SJMN2X 描述: 事件 ID ( 0 )的描述(在资源( RsyncServer )中)无法找到.本地计算机
-
win2003的“由于下列错误,Parallel port driver 服务启动失败”的解决方法
开机弹出一个错误窗口,让查看事件查看器.找到一个红叉的记录:由于下列错误,Parallel port driver 服务启动失败: 无法启动服务,原因可能是已被禁用或与其相关联的设备没有启动." 不知道怎么解决,搜索一下,搞定.转文如下: 有人说找到系统服务把这项关了就可以,但我怀疑他们没有亲自实践过,因为系统服务中根本找不到对应的服务.这个错误出现的原因可能是并口已经在bios 中关闭了,但是系统或者某个软件中还会有个虚拟的并口.解决这个问题,只需要在注册表HKEY_LOCAL_MACHINE
-
windows7服务器上weblogic启动失败异常解决方法
环境: 操作系统:windows 7 weblogic:10.3.3 问题: 根据安装向导创建域后首次默认启动服务,可以启动成功. 通过命令行或开始菜单中的快捷方式,启动时出现如下异常: /Java/jre6/lib/ext/QTJava.zip was unexpected at this time. 解决方法: 更改环境变量,删除classpath中的:C:/Program Files (x86)/Java/jre6/lib/ext/QTJava.zip 重启服务器,问题解决
-
真正解决win2003的“由于下列错误,Parallel port driver 服务启动失败的解决方法”
开机弹出一个错误窗口,让查看事件查看器.找到一个红叉的记录:由于下列错误,Parallel port driver 服务启动失败: 无法启动服务,原因可能是已被禁用或与其相关联的设备没有启动." 不知道怎么解决,搜索一下,搞定.转文如下: 有人说找到系统服务把这项关了就可以,但我怀疑他们没有亲自实践过,因为系统服务中根本找不到对应的服务.这个错误出现的原因可能是并口已经在bios 中关闭了,但是系统或者某个软件中还会有个虚拟的并口.解决这个问题,只需要在注册表HKEY_LOCAL_MACHINE
-
CentOS桌面环境中网卡启动失败的解决方法
我在最小化安装CentOS中网卡启动正常,但是当我们装了桌面版的CentOS后,发现不管使用哪种启动网卡的方式都会启动失败. 截图如下: 后来查阅报错原因,NetworkManager管理工具和/etc/sysconfig/network-scripts/ifcfg-ethx配置不同步造成的. 使用下面两个命令可以解决上面网卡重启失败导致的问题: chkconfigNetworkManageroff //注释 关掉它,不让它开机自动启动 service NetworkManager stop /
-
80端口被占用 Apache启动失败的解决方法
在织梦系统本地安装过程中,使用APMServ配置本地环境,我测试的时候80端口没有被占用,很顺利的Apache成功启动,后来换了台电脑,怎么都启 动不了,不是说Apache启动失败.√MySQL5.1已启动就是Apache启动失败.√MySQL5.1启动失败,后来慢慢摸索终于弄成功了.很多 新手肯定也像我一样经常碰到这种问题.记录下来,小事情也有大意义. 1.一开始我的Apache安装的路径是D:\何碧玉个人\APMServ5.2.6,没注意到Apache安装的路径是不能含有汉字和空格的,所以第
-
mysql 5.7.17 zip安装配置教程 mysql启动失败的解决方法
MySQL5.7.17,现在看来是最新版本,下载地址 在这里可以选择自己的平台版本,选择自己的下载,我的是windows版本.应该大同小异. 下载的文件在这里讲一下ZIP版本的,MIS版本的我没试过也不知道. 在这里提醒一下,最好是下载没有debug的版本,因为我下过一次,最后安装失败了,因为没有一个ini文件,导致出现了很多问题. 解压完成后放到一个建立好的文件上就好. 解压后的文件有默认的配置文件(my-default.ini),在解压后的路径下新建文件:my.ini(复制my-defaul
-
Windows7 apache启动失败的解决方法
安装完成后,装上apache2与mysql均一切顺利,配置好httpd.conf,加载php5apache2模块后,启动apache失败,日志如下: 复制代码 代码如下: [Sun Jul 19 17:05:55 2009] [warn] pid file I:/win7_amp/Apache2/logs/httpd.pid overwritten - Unclean shutdown of previous Apache run? [Sun Jul 19 17:06:00 2009] [war
随机推荐
- MySQL去重的方法整理
- 详解iOS开发中UIPickerView控件的使用方法
- 在java中如何定义一个抽象属性示例详解
- 同步调用和异步调用WebService
- Docker网络代理设置详解
- mysql数据库修改数据表引擎的方法
- PHP5.2下chunk_split()函数整数溢出漏洞 分析
- 百度地图API之百度地图退拽标记点获取经纬度的实现代码
- JavaBean实现多文件上传的两种方法
- JS事件添加和移出的兼容写法示例
- JavaScript多并发问题如何处理
- 你的 mixin 真的兼容 ECMAScript 5 吗?
- WINPE3.0集成RAID阵列卡驱动的实现方法
- Android编程之TextView的字符过滤功能分析
- 深入浅析JavaScript中prototype和proto的关系
- tensorflow构建BP神经网络的方法
- SQL Server数据库附加失败的解决办法
- 易语言向指定窗口投递信息的方法
- Mysql InnoDB引擎的索引与存储结构详解
- 解决Python pandas df 写入excel 出现的问题
