springboot+mybaties項(xiàng)目中掃描不到@mapper注解的解決方法
本文主要介紹了springboot+mybaties項(xiàng)目中掃描不到@mapper注解的解決方法,具體如下:
該報錯表明掃描不到Mapper層。該報錯的引起有多種原因,我們一一排除。
第一種:未給對應(yīng)的Mapper層添加@Mapper注解。導(dǎo)致springboot掃描不到Mapper層。
解決方法:添加@Mapper注解。找到項(xiàng)目中的Mapper層,給該類或者接口加上@Mapper注解即可解決問題。
第二種:如果添加了@Mapper注解之后還是掃描不到Mapper層的話,可能是Mapper層的資源路徑?jīng)_突或者目錄結(jié)構(gòu)有問題。
解決方法:添加@ComponentScan("")注解或者添加@MapperScan("")注解。給啟動類添加@ComponentScan("Mapper層路徑")或者@MapperScan("Mapper層路徑"),這樣子可以自定義Mapper層的資源目錄。幫助springboot快速定位到Mapper層進(jìn)行掃描。
兩個注解二選一即可。兩者的區(qū)別是@ComponentScan是定義包掃描的規(guī)則,設(shè)置掃描包的路徑,然后根據(jù)定義的規(guī)則找出哪些需類需要自動裝配到spring的bean容器中,然后交由spring進(jìn)行統(tǒng)一管理。而@MapperScan 注解用于掃描 Mapper 接口,并將其實(shí)例化后交給 Spring 容器管理,使得可以在其他組件中使用這些 Mapper 接口的實(shí)現(xiàn)類。該注解常用于 MyBatis 框架中,用于自動掃描 Mapper 接口并創(chuàng)建其實(shí)現(xiàn)類的代理對象,從而可以方便地進(jìn)行數(shù)據(jù)持久化操作。
第三種:使用自動注入注解@Autowired() 。當(dāng)使用@Autowired注解的時候,其實(shí)默認(rèn)就是@Autowired(required=true),表示注入的時候,該bean必須存在,否則就會注入失敗。這樣子會出現(xiàn)啟動報錯。而@Autowired(required=false):表示忽略當(dāng)前要注入的bean,如果有直接注入,沒有跳過,不會報錯。這樣子可以正常啟動項(xiàng)目。注:這個解決方法只是治標(biāo)不治本,一般情況下不推薦使用,如果bean啟動之后還是不存在的話則一般會出現(xiàn)空指針報錯。實(shí)際的問題還是沒有對應(yīng)解決。
第四種:依賴引入錯誤。
解決方法:檢查對應(yīng)pom文件的依賴。刪除錯誤的依賴即可。
兩者的區(qū)別:
mybatis:只會單單引入mybatis的包
mybatis-spring-boot-starter:會引入spring-boot的啟動包和mybaits的包
這也是啟動類啟動的時候找不到相關(guān)依賴出現(xiàn)報錯的原因。
大家可以根據(jù)自己項(xiàng)目的情況慢慢的排除錯誤解決問題。一步步來問題完美解決。
項(xiàng)目完美啟動。
到此這篇關(guān)于springboot+mybaties項(xiàng)目中掃描不到@mapper注解的解決方法的文章就介紹到這了,更多相關(guān)springboot mybaties掃描不到@mapper內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Java編程實(shí)現(xiàn)從給定范圍內(nèi)隨機(jī)N個不重復(fù)數(shù)生成隨機(jī)數(shù)的方法小結(jié)
這篇文章主要介紹了Java編程實(shí)現(xiàn)從給定范圍內(nèi)隨機(jī)N個不重復(fù)數(shù)生成隨機(jī)數(shù)的方法,結(jié)合實(shí)例形式較為詳細(xì)的分析了java根據(jù)指定范圍生成不重復(fù)隨機(jī)數(shù)的相關(guān)操作技巧,需要的朋友可以參考下2017-04-04JAVA Frame 窗體背景圖片,首位相接滾動代碼實(shí)例
這篇文章主要介紹了JAVA Frame 窗體背景圖片,首位相接滾動代碼示例,需要的朋友可以參考下復(fù)制代碼2017-04-04java正則表達(dá)式處理花括號內(nèi)容替換賦值問題
這篇文章主要介紹了java正則表達(dá)式處理花括號內(nèi)容替換賦值問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2023-05-05解讀RabbitMQ和kafka的相同點(diǎn)和不同點(diǎn)是什么
RabbitMQ和Kafka都是消息中間件,支持分布式系統(tǒng)、高可用性和可靠性,RabbitMQ使用隊列模型,適合復(fù)雜路由場景;Kafka使用主題-分區(qū)模型,適合大規(guī)模數(shù)據(jù)流處理,RabbitMQ在低延遲方面表現(xiàn)更好,Kafka在高吞吐量方面表現(xiàn)更好2024-12-12IDEA+maven+SpringBoot+JPA+Thymeleaf實(shí)現(xiàn)Crud及分頁
這篇文章主要介紹了不需要電腦任何操作基于IDEA + maven + SpringBoot + JPA + Thymeleaf實(shí)現(xiàn)CRUD及分頁,需要的朋友可以參考下2018-03-03如何使用SpringBootCondition更自由地定義條件化配置
這篇文章主要介紹了如何使用SpringBootCondition更自由地定義條件化配置,幫助大家更好的理解和學(xué)習(xí)使用springboot框架,感興趣的朋友可以了解下2021-04-04詳解SpringBoot應(yīng)用服務(wù)啟動與安全終止
這篇文章主要介紹了SpringBoot應(yīng)用服務(wù)啟動與安全終止,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-04-04Spring Boot應(yīng)用監(jiān)控的實(shí)戰(zhàn)教程
Spring Boot 提供運(yùn)行時的應(yīng)用監(jiān)控和管理功能,下面這篇文章主要給大家介紹了關(guān)于Spring Boot應(yīng)用監(jiān)控的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),需要的朋友可以參考借鑒,下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2018-05-05