SpringBoot掃描不到類,注入失敗A component required a bean of type 'XXService' that could...


SpringBoot項目的Bean裝配默認規則是根據Application類所在的包位置從上往下掃描! 
“Application類”是指SpringBoot項目入口類。
這個類的位置很關鍵: 
如果Application類所在的包為:com.boot.app,則只會掃描com.boot.app包及其所有子包,如果service或dao所在包不在com.boot.app及其子包下,則不會被掃描! 
即, 把Application類放到dao、service所在包的上級,com.boot.Application 
知道這一點非常關鍵,大多數情況下bean無法注入進來都是這個原因引起的。

本人的錯誤原因是:entity,service,serviceImpl,controller等這些包和Application.java     SpringBoot程序的入口不在同一個包且不在Application.java的子包中。

原因是:SpringBoot運行時所加載的包是Application.java本包及其子包的代碼。所以根本掃描不到其他包,你怎么改注解都是錯誤的。

原因之二:就是bean加載順序不對,比方說你的攔截器是在service加載之前就生成了,application在生成攔截器bean的時候怎么能找到service這個bean呢.




免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM