您好,登錄后才能下訂單哦!
這篇文章主要介紹“怎么解決SpringBoot自動裝配bean找不到類型的問題”的相關知識,小編通過實際案例向大家展示操作過程,操作方法簡單快捷,實用性強,希望這篇“怎么解決SpringBoot自動裝配bean找不到類型的問題”文章能幫助大家解決問題。
Spring基于注解的@Autowired是比較常用的自動裝配注解,但是會因為個人的疏忽,SSM進行配置的時候沒有將對應bean所在包給掃描進去;或者使用Boot的時候,沒有放在啟動類所在包及其子包下導致報錯。
Description:
Field empApi in feign_consumer.demo.controller.testController required a bean of type 'api.eApi' that could not be found.
The injection point has the following annotations:
- @org.springframework.beans.factory.annotation.Autowired(required=true)
Action:Consider defining a bean of type 'api.eApi' in your configuration.
Process finished with exit code 1
看報錯,很明顯就是找不到Bean;換而言之就是bean對象沒有裝配到Spring容器中,導致啟動的時候要裝配缺找到。
在boot啟動的時候掃描的是feign_consumer.demo這個包及其子包,而需要裝配的bean就只在api這包下,Spring在啟動的時候根本不會掃到api這個包(除非使用了@ComponentScan修改了約定)。所以就會導致項目啟動報錯。
這也提醒了我們,使用模塊化開發要注意項目的完整性以及其工程結構;另外,代碼規范也很重要。
Could not autowire. No beans of ‘xxxMapper’ type found.
說明Spring框架沒有識別到你的xxxMapper中的類,也及是說,xxxMapper的類沒有被Spring框架給管理,如果你所需要的類需要給Spring給管理,那么你得在他上面加上@Repository注解,這樣你在service層自動注入時他才不會報錯。
如果的你得類不需要管理或者繼承或實現一些規則,并且程序沒有產生一些錯誤,那么這些都是可以被允許的。
@Repository public interface AdminMapper { public void xxx(){} }
public class AdminServiceImpl { @Autowired private AdminMapper adminMapper; }
這樣他就不會報錯了。
關于“怎么解決SpringBoot自動裝配bean找不到類型的問題”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識,可以關注億速云行業資訊頻道,小編每天都會為大家更新不同的知識點。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。