Springboot無法注入service問題
Springboot無法注入service
SpringBoot項目的Bean裝配默認規(guī)則是根據(jù)Application類所在的包位置從上往下掃描!
“Application類”是指SpringBoot項目入口類。
這個類的位置很關(guān)鍵
如果Application類所在的包為:com.boot.app,則只會掃描com.boot.app包及其所有子包,如果service或dao所在包不在com.boot.app及其子包下,則不會被掃描!
即,把Application類放到dao、service所在包的上級,com.boot.Application
知道這一點非常關(guān)鍵,大多數(shù)情況下bean無法注入進來都是這個原因引起的。
附上正確目錄結(jié)構(gòu)

Springboot報錯找不到自動注入的service
找了不少資料,最后發(fā)現(xiàn)是每個service接口(雖然已經(jīng)使用了@service注解)的實現(xiàn)類都需要加上@service注解。
如果是使用junit生成的測試類,發(fā)現(xiàn)無法自動注入服務(wù)的話,在test啟動類前加上
@RunWith(SpringRunner.class)
@SpringBootTest
@ComponentScan("com.XXX.service")這是因為test包和啟動類不在同一個包或子包下,無法自動注入
總結(jié)
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
MyBatis基于pagehelper實現(xiàn)分頁原理及代碼實例
這篇文章主要介紹了MyBatis基于pagehelper實現(xiàn)分頁原理及代碼實例,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下2020-06-06
Springboot+redis+Vue實現(xiàn)秒殺的項目實踐
本文主要介紹了Springboot+redis+Vue實現(xiàn)秒殺的項目實踐,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2022-08-08
使用Servlet Filter實現(xiàn)系統(tǒng)登錄權(quán)限
這篇文章主要為大家詳細介紹了使用Servlet Filter實現(xiàn)系統(tǒng)登錄權(quán)限,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下2019-10-10
Nacos配合SpringBoot實現(xiàn)動態(tài)線程池的基本步驟
使用Nacos配合Spring Boot實現(xiàn)動態(tài)線程池,可以讓你的應(yīng)用動態(tài)地調(diào)整線程池參數(shù)而無需重啟,這對于需要高度可配置且需要適應(yīng)不同負載情況的應(yīng)用來說非常有用,本文給大家介紹實現(xiàn)動態(tài)線程池的基本步驟,需要的朋友可以參考下2024-02-02

