解决SpringBoot启动失败:A component required a bean of type ‘xxxxxxx‘ that could not be found.

问题描述

今天写了一个MD5加密加盐工具类,运用到实际业务代码中缺报错了,内容如下:


***************************
APPLICATION FAILED TO START
***************************

Description:

A ***ponent required a bean of type '***.wyh.util.SaltMD5Util' that could not be found.


Action:

Consider defining a bean of type '***.wyh.util.SaltMD5Util' in your configuration.

分析问题

根据错误日志不难发现,其实是因为组件没有被找到。因为这个工具类是我自己写的。

然后我就去检查代码,最终发现,我把这个工具类以注解的形式注入进来并使用

但是,这个工具类里面,我没有标明这个工具类是一个bean文件。所以项目扫描不到,就报了错。

解决问题

想要解决这种问题也十分的简单,目前想到两种方式

不注入bean的方式

我们可以换种思路,不注入bean文件,直接通过工具类下的方法直接调用

使用@***ponent

如果觉得直接调用工具类下的方法不舒服,非要使用bean的方式,name可以使用@***ponent注解

直接修饰类文件即可。

注意,不要引用错哦,用的是下面这个注解
import org.springframework.stereotype.***ponent;

再次重启解决问题。

扩展:@***ponent解释说明

@***ponent是spring中的一个注解,它的作用就是实现bean的注入。在Java的web开发中,提供3个@***ponent注解衍生注解(功能与@***ponent一样)分别是:

1、@Controller 控制器(注入服务) 用于标注控制层,相当于struts中的action层。

2、@Service 服务(注入dao) 用于标注服务层,主要用来进行业务的逻辑处理

3、@Repository(实现dao访问) 用于标注数据访问层,也可以说用于标注数据访问组件,即DAO组件

而@***ponent泛指各种组件,就是说当我们的类不属于各种归类的时候(不属于@Controller、@Services等的时候),我们就可以使用@***ponent来标注这个类。

转载请说明出处内容投诉
CSS教程_站长资源网 » 解决SpringBoot启动失败:A component required a bean of type ‘xxxxxxx‘ that could not be found.

发表评论

欢迎 访客 发表评论

一个令你着迷的主题!

查看演示 官网购买