欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

idea注入mapper報錯報紅的幾種解決方案

 更新時間:2023年12月25日 10:07:12   作者:五月天的尾巴  
相信大家在使用idea的時候一定會遇到這樣的問題,就是在service里注入mapper的時候,明明代碼沒有問題,也可以運行,但是idea它就是給你報個錯,有個紅色的波浪線在下面,所以本文將給大家介紹了idea注入mapper報錯報紅的幾種解決方案,需要的朋友可以參考下

前言

相信大家在使用idea的時候一定會遇到這樣的問題,就是在service里注入mapper的時候,明明代碼沒有問題,也可以運行,但是idea它就是給你報個錯,有個紅色的波浪線在下面,這讓人感覺很不舒服。怎么辦呢?

在這里插入圖片描述

先來大概說一下,產(chǎn)生這種現(xiàn)象的原因。idea其實是非常智能的,它可以理解Spring的上下文,然而 XxxxMapper 這種接口是Mybatis的,IDEA它理解不了。再加上 @Autowired 這個注解呢,它默認(rèn)情況下要求依賴對象(也就是 XxxxMapper )必須存在,而IDEA認(rèn)為這個對象的實例/代理是個null,所以就友好地給個提示,給你報個紅~

今天就說一下以下幾種解決方案

方法1:為 @Autowired 注解設(shè)置required = false

使用 @Autowired 注解時,若希望允許null值,可設(shè)置required = false

像這樣:

在這里插入圖片描述

這樣就不會有警告了。原因很好理解:IDEA認(rèn)為cashTicketMapper是個null,給了警告;加上required = false后,使用 @Autowired 注解不再去校驗userMapper是否存在了,也就不會有警告了。

但是,這種方式有點蛋疼!一個龐大的既有項目,可能到處都在引用Mapper,總不能到處都補上 required = false 吧。而且對于新手/新員工,很難一眼看懂加required = false屬性只是為了解決IDEA的警告。

方法2:用 @Resource 替換 @Autowired

像這樣:

在這里插入圖片描述

這樣也不會再有討厭的警告。如果你對原因感興趣,不妨去了解一下@Autowired 與@Resource的區(qū)別

這種方式挺贊,但如果一個項目已經(jīng)大量使用@Autowired,然后為了個警告到處改成@Resource,也有點蛋疼。

方法3:在Mapper接口上加上@Repository注解

像這樣:

在這里插入圖片描述

這樣也能讓你的

 @Autowired
private StdNmRecordMapper stdNmRecordMapper;

不再報錯。

當(dāng)然,如果你用@Component替換@Repository也是可以的。原理大致:IDEA不是認(rèn)為 userMapper 是個null…

加個@Repository注解或者@Component騙一下IDEA就OK了……

這種方式也比較贊,改動小,也簡單,我比較喜歡。

方法4:用Lombok

像這樣:

在這里插入圖片描述

Lombok生成的代碼是這樣的:

@Service
public class TestService {
    private CashTicketMapper cashTicketMapper;
    @Autowired
    public TestService(CashTicketMapper cashTicketMapper;) {
        this.cashTicketMapper= cashTicketMapper;
    }
}

但如果自己手寫成Lombok生成的代碼,IDEA依然會給你報警告 。我猜,應(yīng)該是IDEA的Lombok插件把IDEA搞懵逼了…所以不提示了…

方法5:把IDEA的警告關(guān)閉掉

這個方法比較不推薦,感覺沒有提示的IDEA是沒有靈魂的,所以不推薦。我也從來不去修改IDEA的任何警告設(shè)置。

但是大家可以按照下圖去試試

在這里插入圖片描述

好了,以上就是 idea 注入mapper報錯報紅的幾種解決方案,希望對你有所幫助~

方法6:不用管他

這只是一個提示,并不影響程序運行,如果沒有強迫癥的話,可以不用管他。

到此這篇關(guān)于idea注入mapper報錯報紅的幾種解決方案的文章就介紹到這了,更多相關(guān)idea注入mapper報錯報紅內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 詳細(xì)介紹Java內(nèi)存泄露原因

    詳細(xì)介紹Java內(nèi)存泄露原因

    詳細(xì)介紹Java內(nèi)存泄露原因,需要的朋友可以參考一下
    2013-05-05
  • Spring Cloud OpenFeign REST服務(wù)客戶端原理及用法解析

    Spring Cloud OpenFeign REST服務(wù)客戶端原理及用法解析

    這篇文章主要介紹了Spring Cloud OpenFeign REST服務(wù)客戶端原理及用法解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-10-10
  • 深入學(xué)習(xí)spring cloud gateway 限流熔斷

    深入學(xué)習(xí)spring cloud gateway 限流熔斷

    這篇文章主要介紹了深入學(xué)習(xí)spring cloud gateway 限流熔斷,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-04-04
  • Java BigDecimal除法精度和格式化輸出方式

    Java BigDecimal除法精度和格式化輸出方式

    這篇文章主要介紹了Java BigDecimal除法精度和格式化輸出方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-08-08
  • SpringBoot3.x打包Docker容器的實現(xiàn)

    SpringBoot3.x打包Docker容器的實現(xiàn)

    這篇文章主要介紹了SpringBoot3.x打包Docker容器的實現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-11-11
  • springboot?正確的在異步線程中使用request的示例代碼

    springboot?正確的在異步線程中使用request的示例代碼

    這篇文章主要介紹了springboot中如何正確的在異步線程中使用request,本文通過示例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-07-07
  • JAVA實現(xiàn)sm3加密簽名以及防止重復(fù)攻擊

    JAVA實現(xiàn)sm3加密簽名以及防止重復(fù)攻擊

    這篇文章主要給大家介紹了關(guān)于JAVA實現(xiàn)sm3加密簽名以及防止重復(fù)攻擊的相關(guān)資料,SM3是簽名算法,和MD5一樣(對于應(yīng)用層來說),SM4是對稱加密算法,和AES一樣(對于應(yīng)用層來說),需要的朋友可以參考下
    2023-10-10
  • json序列化時忽略值為null的字段2種方式實例

    json序列化時忽略值為null的字段2種方式實例

    這篇文章主要給大家介紹了關(guān)于json序列化時忽略值為null的字段的2種方式,當(dāng)對象中某個字段為null時,我們希望將對象轉(zhuǎn)換成json時為null的字段不會被轉(zhuǎn)換到j(luò)son字符串,里面需要的朋友可以參考下
    2023-10-10
  • Java OpenCV圖像處理之背景消除

    Java OpenCV圖像處理之背景消除

    GMM(高斯混合模型)是基于像素樣本統(tǒng)計信息的背景表示方法,利用像素在較長時間內(nèi)大量樣本值的概率密度等統(tǒng)計信息表示別境,然后使用統(tǒng)計差分進行目標(biāo)像素判斷達(dá)到預(yù)期效果。本文將利用GMM方法實現(xiàn)圖像背景消除,需要的可以參考一下
    2022-02-02
  • java中switch case語句需要加入break的原因解析

    java中switch case語句需要加入break的原因解析

    這篇文章主要介紹了java中switch case語句需要加入break的原因解析的相關(guān)資料,需要的朋友可以參考下
    2017-07-07

最新評論