idea?springBoot項目自動注入mapper為空報錯的解決方法
在SpringBoot項目中,如果使用了MyBatis作為持久層框架,使用自動注入時可能會遇到mapper報空指針異常的問題。這是因為在自動注入時,SpringBoot無法正確識別MyBatis的Mapper接口,需要進(jìn)行一些額外的配置。
解決這個問題的方法有兩種:
1.在Mapper接口上添加注解
在Mapper接口上添加@Mapper注解,告訴SpringBoot這個接口是一個Mapper接口,需要進(jìn)行代理。示例如下:
@Mapper
public interface UserMapper {
// ...
}2.手動配置Mapper掃描路徑
在application.properties或application.yml中手動配置Mapper掃描路徑,告訴SpringBoot掃描哪些包下的Mapper接口。示例如下:
在application.properties中配置:
mybatis.mapper-locations=classpath:mapper/*.xml
在application.yml中配置:
mybatis: mapper-locations: classpath:mapper/*.xml
需要注意的是,這里的mapper/*.xml是指Mapper接口所對應(yīng)的XML文件存放的路徑,如果使用注解方式配置SQL語句,則可以不用配置XML文件路徑。
通過以上兩種方式進(jìn)行配置后,就可以在使用自動注入時正確注入Mapper接口了。
最后,如果以上的都做了還是報空的話檢查一下是不是粗心的在controller層沒有注入mapper,例如

如果是新new的對象的話引用的注入對象不是自動注入spring容器里的對象,所以會報空,演戲也要演全套,在controller層也使用@Autowird注入吧
到此這篇關(guān)于idea springBoot項目自動注入mapper為空報錯的解決方法的文章就介紹到這了,更多相關(guān)springBoot 自動注入mapper為空內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
詳解spring-boot集成elasticsearch及其簡單應(yīng)用
本篇文章主要介紹了詳解spring-boot集成elasticsearch及其簡單應(yīng)用,具有一定的參考價值,感興趣的小伙伴們可以參考一下2017-06-06
java 過濾器模式(Filter/Criteria Pattern)詳細(xì)介紹
這篇文章主要介紹了java 過濾器模式(Filter/Criteria Pattern)詳細(xì)介紹的相關(guān)資料,需要的朋友可以參考下2016-10-10
Java concurrency線程池之線程池原理(一)_動力節(jié)點Java學(xué)院整理
這篇文章主要為大家詳細(xì)介紹了Java concurrency線程池之線程池原理,具有一定的參考價值,感興趣的小伙伴們可以參考一下2017-06-06
springboot集成nacos報錯:get data from Nacos
這篇文章給大家介紹了springboot集成nacos報錯:get data from Nacos error,dataId:null.yaml的原因及解決方法,如果又遇到相同問題的朋友可以參考閱讀本文2023-10-10
Java并發(fā)包線程池ThreadPoolExecutor的實現(xiàn)
本文主要介紹了Java并發(fā)包線程池ThreadPoolExecutor的實現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2022-04-04

