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

IDEA中@Autowired自動注入MyBatis?Mapper報紅警告的幾種解決方法

 更新時間:2024年02月21日 08:31:45   投稿:zx  
這篇文章主要介紹了IDEA中@Autowired自動注入MyBatis?Mapper報紅警告的幾種解決方法

今天在使用 IDEA 使用 MyBatis 的時候遇到了這種情況:

在這里插入圖片描述

可以看到 userMapper 下有個紅色的波浪警告,雖然代碼沒有任何問題,能正常運(yùn)行,但是這個紅色警告在這里杵著確實讓人很窩心。

于是我在網(wǎng)上找了找,最終明白了原因所在:

  • 因為 IDEA 可以智能的理解上下文,然而 UserMapper 這個接口是 MyBatis 的 IDEA 理解不了。
  • 而 @Autowired 注解,默認(rèn)情況下要求依賴對象(也就是 userMapper )必須存在。而 IDEA 認(rèn)為這個對象的實例/代理是個 null ,所以就友好地給個提示。

然后最終的解決方案總結(jié)了幾個,按需使用把:

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

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

@Autowired(required = false)
private UserMapper userMapper;

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

總結(jié):

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

方法2:使用 @Resource 替換 @Autowired

像這樣:

@Resource
private UserMapper userMapper;

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

總結(jié):

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

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

@Repository
public interface UserMapper extends Mapper<User> {

}
這樣能讓你的
@Autowired
private UserMapper userMapper;
不再報紅。

當(dāng)然,如果你用 @Component 替換 @Repository 也是可以的。原理大致:IDEA 不是認(rèn)為 userMapper 是個 null 嘛…加個 @Repository 注解騙一下 IDEA 就OK了……

總結(jié):

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

方法4:用 Lombok

@Service
@RequiredArgsConstructor(onConstructor = @__(@Autowired))
public class TestService {

    private final UserMapper userMapper;
    ...

}

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

個人沒試過,也沒有動力去試。沒有提示的 IDEA 是沒有靈魂的,我從來不去修改 IDEA 的任何警告設(shè)置。

方法6:安裝 mybatis plugin 即可解決該問題。

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

相關(guān)文章

  • Java裝飾者模式的深入了解

    Java裝飾者模式的深入了解

    這篇文章主要為大家介紹了Java裝飾者模式,具有一定的參考價值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助
    2022-01-01
  • java獲取昨天日期字符串的方法

    java獲取昨天日期字符串的方法

    這篇文章主要介紹了java獲取昨天日期字符串的方法,涉及java針對日期與時間的運(yùn)算與轉(zhuǎn)換等相關(guān)操作技巧,需要的朋友可以參考下
    2016-08-08
  • Spring Cloud Gateway詳細(xì)使用最佳實踐

    Spring Cloud Gateway詳細(xì)使用最佳實踐

    Spring Cloud Gateway 是 Spring Cloud 生態(tài)系統(tǒng)中的現(xiàn)代化 API 網(wǎng)關(guān)組件,用于構(gòu)建微服務(wù)架構(gòu)中的統(tǒng)一入口網(wǎng)關(guān),本文介紹Spring Cloud Gateway詳細(xì)使用最佳實踐,感興趣的朋友一起看看吧
    2025-11-11
  • Springcloud-nacos實現(xiàn)配置和注冊中心的方法

    Springcloud-nacos實現(xiàn)配置和注冊中心的方法

    這篇文章主要介紹了Springcloud-nacos實現(xiàn)配置和注冊中心的方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-07-07
  • 10分鐘在服務(wù)器部署好Jenkins的詳細(xì)過程

    10分鐘在服務(wù)器部署好Jenkins的詳細(xì)過程

    這篇文章主要介紹了10分鐘在服務(wù)器部署好Jenkins,本文主要是?Jenkins?的安裝部署,那前提我們應(yīng)該裝好?Git?Maven?JDK,準(zhǔn)備工作本文不給大家詳細(xì)介紹了,對服務(wù)器部署Jenkins相關(guān)知識感興趣的朋友一起看看吧
    2022-08-08
  • JDK源碼之線程并發(fā)協(xié)調(diào)神器CountDownLatch和CyclicBarrier詳解

    JDK源碼之線程并發(fā)協(xié)調(diào)神器CountDownLatch和CyclicBarrier詳解

    我一直認(rèn)為程序是對于現(xiàn)實世界的邏輯描述,而在現(xiàn)實世界中很多事情都需要各方協(xié)調(diào)合作才能完成,就好比完成一個平臺的交付不可能只靠一個人,而需要研發(fā)、測試、產(chǎn)品以及項目經(jīng)理等不同角色人員進(jìn)行通力合作才能完成最終的交付
    2022-02-02
  • java web開發(fā)之購物車功能實現(xiàn)示例代碼

    java web開發(fā)之購物車功能實現(xiàn)示例代碼

    這篇文章主要介紹了java web開發(fā)之購物車功能實現(xiàn)示例代碼,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-10-10
  • 面向切面的Spring通過切點(diǎn)來選擇連接點(diǎn)實例詳解

    面向切面的Spring通過切點(diǎn)來選擇連接點(diǎn)實例詳解

    這篇文章主要為大家介紹了面向切面的Spring通過切點(diǎn)來選擇連接點(diǎn)實例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-10-10
  • Java基礎(chǔ)知識精通塊作用域與條件及switch語句

    Java基礎(chǔ)知識精通塊作用域與條件及switch語句

    塊(block,即復(fù)合語句)是指由若干條 Java 語句組成的語句,并由一對大括號括起來。塊確定了變量的作用域。一個塊可以嵌套在另一個塊中;條件語句、switch語句是我們常見會用到的結(jié)構(gòu),感興趣的朋友來看看吧
    2022-04-04
  • 解決Mybatis-Plus更新方法不更新NULL字段的問題

    解決Mybatis-Plus更新方法不更新NULL字段的問題

    這篇文章主要介紹了解決Mybatis-Plus更新方法不更新NULL字段的問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-12-12

最新評論

曲麻莱县| 吴川市| 焦作市| 西乌珠穆沁旗| 苏尼特右旗| 临漳县| 广元市| 晋宁县| 中宁县| 罗城| 松原市| 丰城市| 儋州市| 广安市| 紫金县| 崇明县| 宁河县| 阳春市| 通榆县| 湟源县| 惠东县| 张家川| 茂名市| 云林县| 仪征市| 西畴县| 南通市| 丽江市| 廊坊市| 新安县| 武功县| 喀喇沁旗| 乌什县| 黑龙江省| 儋州市| 永昌县| 同德县| 星座| 凌源市| 宝丰县| 泸溪县|