Idea工具中使用Mapper對象有紅線的解決方法
背景:
IDEA開發(fā)工具,springboot +mybatis項(xiàng)目
(這個是不需要改的,也不算是問題,因?yàn)轫?xiàng)目并不會報(bào)錯,只是作者好奇找了下問題,并記錄一下)
問題描述
mapper對象在service層有紅線,項(xiàng)目可以正常使用,想知道為什么會出現(xiàn)這種情

原因分析:
@Autowired 默認(rèn)是要求注解對象不為空
@Autowired 默認(rèn)是要求注解對象不為空,IDEA在自動檢測時(shí)認(rèn)為mapper的實(shí)例是null,所以飄紅提醒一下。實(shí)際使用@MapperScan,是在項(xiàng)目啟動時(shí)才會去掃描mapper文件,并生成代理類,所以項(xiàng)目運(yùn)行也不會報(bào)錯。
這里想到@Service注解,在controller層中使用的時(shí)候就沒有報(bào)紅,是因?yàn)楹蠤Component,
@Component作用就是把注解的類實(shí)例化到spring容器中。
解決方案
這里提供4中解決方式
1、修改idea 配置
下圖是通過點(diǎn)擊標(biāo)紅的提示進(jìn)入的,也可以從菜單上進(jìn)入:file -> settings-> editor->inspections->autowiring for bean class 取消勾選,關(guān)閉 autowiring 校驗(yàn)。



2、@Autowired 修改為 @Autowired(required = false)
3、@Autowired 修改為 @Resource
@Resource 不校驗(yàn)是否為空
4、mapper 類上添加 @Repository 或者 @Component 或者lombok 中的@RequiredArgsConstructor
本質(zhì)是加了 @Component 注冊到項(xiàng)目中,滿足IDEA的檢驗(yàn)
參考鏈接:
idea 注入mapper報(bào)錯報(bào)紅的幾種解決方案
IDEA中mapper注入報(bào)紅的問題(springboot
到此這篇關(guān)于Idea工具中使用Mapper對象有紅線的文章就介紹到這了,更多相關(guān)idea 使用mapper紅線內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
SpringBoot實(shí)現(xiàn)文件上傳與下載功能的示例代碼
文件上傳與下載是Web應(yīng)用開發(fā)中常用的功能之一。接下來我們將討論如何在Spring?Boot的Web應(yīng)用開發(fā)中,如何實(shí)現(xiàn)文件的上傳與下載,感興趣的可以了解一下2022-06-06
SpringMVC實(shí)現(xiàn)Validation校驗(yàn)過程詳解
這篇文章主要介紹了SpringMVC實(shí)現(xiàn)Validation校驗(yàn)過程詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-11-11
Mybatis CachingExecutor二級緩存使用示例詳解
這篇文章主要介紹了?Mybatis的CachingExecutor與二級緩存使用示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-09-09
Mybatis實(shí)現(xiàn)動態(tài)增刪改查功能的示例代碼
這篇文章主要介紹了Mybatis實(shí)現(xiàn)動態(tài)增刪改查功能的示例代碼,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-04-04

