SpringBoot啟動(dòng)失敗的解決方法:A component required a bean of type ‘xxxxxxx‘ that could not be found.
問題描述
今天寫了一個(gè)MD5加密加鹽工具類,運(yùn)用到實(shí)際業(yè)務(wù)代碼中缺報(bào)錯(cuò)了,內(nèi)容如下:
***************************
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.
分析問題
根據(jù)錯(cuò)誤日志不難發(fā)現(xiàn),其實(shí)是因?yàn)榻M件沒有被找到。因?yàn)檫@個(gè)工具類是我自己寫的。
然后我就去檢查代碼,最終發(fā)現(xiàn),我把這個(gè)工具類以注解的形式注入進(jìn)來并使用
但是,這個(gè)工具類里面,我沒有標(biāo)明這個(gè)工具類是一個(gè)bean文件。所以項(xiàng)目掃描不到,就報(bào)了錯(cuò)。
解決問題
想要解決這種問題也十分的簡(jiǎn)單,目前想到兩種方式
不注入bean的方式
我們可以換種思路,不注入bean文件,直接通過工具類下的方法直接調(diào)用
使用@Component
如果覺得直接調(diào)用工具類下的方法不舒服,非要使用bean的方式,name可以使用@Component注解
直接修飾類文件即可。
注意,不要引用錯(cuò)哦,用的是下面這個(gè)注解
import org.springframework.stereotype.Component;
再次重啟解決問題。
擴(kuò)展:@Component解釋說明
@Component是spring中的一個(gè)注解,它的作用就是實(shí)現(xiàn)bean的注入。在Java的web開發(fā)中,提供3個(gè)@Component注解衍生注解(功能與@component一樣)分別是:
1、@Controller 控制器(注入服務(wù)) 用于標(biāo)注控制層,相當(dāng)于struts中的action層。
2、@Service 服務(wù)(注入dao) 用于標(biāo)注服務(wù)層,主要用來進(jìn)行業(yè)務(wù)的邏輯處理
3、@Repository(實(shí)現(xiàn)dao訪問) 用于標(biāo)注數(shù)據(jù)訪問層,也可以說用于標(biāo)注數(shù)據(jù)訪問組件,即DAO組件
而@Component泛指各種組件,就是說當(dāng)我們的類不屬于各種歸類的時(shí)候(不屬于@Controller、@Services等的時(shí)候),我們就可以使用@Component來標(biāo)注這個(gè)類。
到此這篇關(guān)于解決SpringBoot啟動(dòng)失?。篈 component required a bean of type ‘xxxxxxx‘ that could not be found.的文章就介紹到這了,更多相關(guān)SpringBoot啟動(dòng)失敗內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Spring整合SpringMVC + Mybatis基礎(chǔ)框架的配置文件詳解
這篇文章主要介紹了Spring整合SpringMVC + Mybatis基礎(chǔ)框架的配置文件,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-02-02PowerJob LockService方法工作流程源碼解讀
這篇文章主要為大家介紹了PowerJob LockService方法工作流程源碼解讀,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2024-01-01Java數(shù)據(jù)結(jié)構(gòu)貪心算法的實(shí)現(xiàn)
本文主要介紹了Java數(shù)據(jù)結(jié)構(gòu)貪心算法的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2007-03-03Springboot+aop實(shí)現(xiàn)配置多數(shù)據(jù)源的示例代碼
本文介紹了如何使用SpringAOP和注解實(shí)現(xiàn)動(dòng)態(tài)數(shù)據(jù)源切換,通過自定義注解和ThreadLocal存儲(chǔ)數(shù)據(jù)上下文信息,重寫AbstractRoutingDataSource類并使用自定義切面來實(shí)現(xiàn)動(dòng)態(tài)數(shù)據(jù)源的切換,感興趣的可以了解一下2024-11-11IDEA使用jformdesigner插件做管理系統(tǒng)MVC架構(gòu)的步驟和實(shí)現(xiàn)思路
在?IntelliJ?IDEA?中結(jié)合?JFormDesigner?插件,通過?Swing?框架實(shí)現(xiàn)一個(gè)管理系統(tǒng)的?MVC?架構(gòu)是一種經(jīng)典的開發(fā)方式,以下是具體的步驟和實(shí)現(xiàn)思路,包含從項(xiàng)目創(chuàng)建到?MVC?架構(gòu)的核心代碼實(shí)現(xiàn),需要的朋友可以參考下2024-12-12解決logback-classic 使用testCompile的打包問題
這篇文章主要介紹了解決logback-classic 使用testCompile的打包問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-07-07Java 在volatile內(nèi)部調(diào)用接口的方法
在Java中,volatile?關(guān)鍵字通常用于確保變量的可見性和有序性,而不是用來修飾接口或方法調(diào)用的,這篇文章主要介紹了Java 在volatile內(nèi)部調(diào)用接口的方法,需要的朋友可以參考下2024-07-07