最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

idea注入mapper報(bào)錯(cuò)報(bào)紅的幾種解決方案

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

前言

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

在這里插入圖片描述

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

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

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

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

像這樣:

在這里插入圖片描述

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

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

方法2:用 @Resource 替換 @Autowired

像這樣:

在這里插入圖片描述

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

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

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

像這樣:

在這里插入圖片描述

這樣也能讓你的

 @Autowired
private StdNmRecordMapper stdNmRecordMapper;

不再報(bào)錯(cuò)。

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

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

這種方式也比較贊,改動(dòng)小,也簡單,我比較喜歡。

方法4:用Lombok

像這樣:

在這里插入圖片描述

Lombok生成的代碼是這樣的:

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

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

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

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

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

在這里插入圖片描述

好了,以上就是 idea 注入mapper報(bào)錯(cuò)報(bào)紅的幾種解決方案,希望對(duì)你有所幫助~

方法6:不用管他

這只是一個(gè)提示,并不影響程序運(yùn)行,如果沒有強(qiáng)迫癥的話,可以不用管他。

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

相關(guān)文章

最新評(píng)論

巫山县| 昌宁县| 武义县| 城固县| 华容县| 广东省| 商水县| 丹东市| 金秀| 扎鲁特旗| 阿克苏市| 绿春县| 襄垣县| 钟祥市| 鄂托克前旗| 敦煌市| 江北区| 西充县| 日喀则市| 南开区| 阳春市| 营山县| 遂溪县| 安多县| 陕西省| 德保县| 罗甸县| 孙吴县| 秦皇岛市| 安泽县| 宕昌县| 上思县| 京山县| 青海省| 晋城| 启东市| 鹰潭市| 利辛县| 巩留县| 台中市| 沾益县|