Idea中mapper注入報錯問題及解決
Idea中mapper注入報錯
問題描述
如下圖所示,通過掃描方式的mapper在service自動注入的時候,會有校驗報錯。
解決辦法
File-setting-Editor-Inspections-Spring-Spring Core-Code-Autowiring for bean class
設(shè)置Severity:warning
apply - ok
最終效果
如下圖所示,即可解決報錯問題。
idea中Mapper接口無法自動注入
報"Invalid bound statement (not found) "異常
首先聲明Mapper接口時,could not autowire,是因為idea的拼寫檢查,并不影響執(zhí)行
Setting->Inspections->Spring->springCore->Code->Autowiring for Bean Class設(shè)置為nohighliting ,only fixed.即可
接下來的說”Invalid bound statement “異常,不能找到Mapper接口的代理類
1.檢查了我的配置文件,沒有問題
2.我看網(wǎng)上很多人說因為Idea不能編譯resources目錄下的XML文件,然后target下的classes目錄下不會生成XML文件,需要在maven項目的pom文件build下加入以下配置
<build> <resources> <resource> <directory>src/main/java</directory> <includes> <include>**/*.properties</include> <include>**/*.xml</include> </includes> <filtering>false</filtering> </resource> <resource> <directory>src/main/resources</directory> <includes> <include>**/*.properties</include> <include>**/*.xml</include> </includes> <filtering>false</filtering> </resource> </resources> </build>
可是我的target目下有XML等配置文件,所以不是這個問題,我使用的是IDEA 2017.2.6版本,我想idea應(yīng)該新點的版本解決了這個問題.
我們知道Mybaties中,Mapper接口和XML配置文件需要在一個目錄下。
3、最后我發(fā)現(xiàn)我的問題是:
我的resources下的文件建立錯誤了。
eclipse的resources下可以建立pacakge,但是Idea下不能,只能建立Directory,即目錄.
所以我之前新建com.ray.mybbs.mapper.test,這顯然是一個文件夾的名稱。
正確的建立方式是com/ray/mybs/mapper/test,這樣建立多級目錄
至此問題解決。
總結(jié)
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
關(guān)于Mybatis-Plus?Wrapper是否應(yīng)該出現(xiàn)在Servcie類中
最近在做代碼重構(gòu),代碼工程采用了Controller/Service/Dao分層架構(gòu),Dao層使用了Mybatis-Plus框架,本文帶領(lǐng)大家學(xué)習(xí)Mybatis-Plus?Wrapper應(yīng)該出現(xiàn)在Servcie類中嗎,需要的朋友可以參考下2023-05-05Java JSON轉(zhuǎn)成List結(jié)構(gòu)數(shù)據(jù)
這篇文章主要介紹了Java JSON轉(zhuǎn)成List結(jié)構(gòu)數(shù)據(jù),文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-09-09Spring中@Transactional注解關(guān)鍵屬性和用法小結(jié)
在Spring框架中,@Transactional 是一個注解,用于聲明事務(wù)性的方法,它提供了一種聲明式的事務(wù)管理方式,避免了在代碼中直接編寫事務(wù)管理相關(guān)的代碼,本文給大家介紹@Transactional 注解的一些關(guān)鍵屬性和用法,感興趣的朋友一起看看吧2023-12-12