一次由Lombok的@AllArgsConstructor注解引發(fā)的錯(cuò)誤及解決
由Lombok的@AllArgsConstructor注解引發(fā)的錯(cuò)誤
需求:在Service實(shí)現(xiàn)中寫了一個(gè)方法調(diào)用第三方接口同步數(shù)據(jù)。 功能代碼不做展示,比較普通的調(diào)用接口返回JSON數(shù)據(jù)。
直接看SpringBoot啟動(dòng)的報(bào)錯(cuò)信息:
Parameter 3 of constructor in org.springblade.modules.system.service.impl.UserServiceImpl required a bean of type 'java.lang.String' that could not be found.
在附一張圖:
看了許多文章都是在說(shuō)調(diào)用了多余的@Autowired
也可以說(shuō)就是這個(gè)原因,但是我在Controller類中去掉沒(méi)有任何的效果。發(fā)現(xiàn)在Controller層確實(shí)也都沒(méi)有用@Autowired注解。
這時(shí)候在Service實(shí)現(xiàn)類頂部發(fā)現(xiàn)了:@AllArgsConstructor
查了資料這里簡(jiǎn)單解釋一下
全部參數(shù)的構(gòu)造函數(shù)的自動(dòng)生成,該注解的作用域也是只有在實(shí)體類上,參數(shù)的順序與屬性定義的順序一致。
發(fā)現(xiàn)其他的類也是這么寫的沒(méi)啥問(wèn)題。是因?yàn)槲以谶@個(gè)類中加了@Value注解。將配置文件的屬性讀取出來(lái)。
按照上面注解的解釋
創(chuàng)造了一個(gè)全參的構(gòu)造器,將@Value修飾的變量作為構(gòu)造器入?yún)?,?dǎo)致報(bào)錯(cuò)
所以將@AllArgsConstructor刪除就好了。
簡(jiǎn)單記錄一下,希望能幫助到大家。如果有不對(duì)的地方還望各位大佬指正。在此感謝各位花時(shí)間觀看。
@AllArgsConstructor lombok注解踩坑記錄
這里記錄一下使用注意點(diǎn)
- @AllArgsConstructor 放在類上面,作用等同于一個(gè)全量的有參構(gòu)造;
- 但如果這個(gè)類有繼承其他類,其他類中的字段并不會(huì)出現(xiàn)在全量有參構(gòu)造中;
- 可能是我的版本太低或者其他問(wèn)題,暫時(shí)沒(méi)找到為什么繼承類的參數(shù)沒(méi)有出現(xiàn)在構(gòu)造中。
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
在service層注入mapper時(shí)報(bào)空指針的解決
這篇文章主要介紹了在service層注入mapper時(shí)報(bào)空指針的解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-06-06java數(shù)據(jù)結(jié)構(gòu)關(guān)于棧的實(shí)例應(yīng)用
大家好,本篇文章主要講的是java數(shù)據(jù)結(jié)構(gòu)關(guān)于棧的實(shí)例應(yīng)用,感興趣的同學(xué)趕快來(lái)看一看吧,對(duì)你有幫助的話記得收藏一下,方便下次瀏覽2021-12-12maven打包本地jar到項(xiàng)目中的方法實(shí)現(xiàn)
本文主要介紹了maven打包本地jar到項(xiàng)目中的方法實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2023-06-06簡(jiǎn)單了解SpringBoot過(guò)濾器及使用方式
這篇文章主要介紹了簡(jiǎn)單了解SpringBoot過(guò)濾器及使用方式,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-04-04Java StringBuilder和StringBuffer源碼分析
這篇文章主要針對(duì)Java中兩個(gè)常用的操作字符串的類 StringBuilder和StringBuffer進(jìn)行源碼分析,感興趣的小伙伴們可以參考一下2016-01-01SpringBoot實(shí)現(xiàn)配置文件的替換
這篇文章主要介紹了SpringBoot實(shí)現(xiàn)配置文件的替換,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-12-12Struts2實(shí)現(xiàn)對(duì)action請(qǐng)求對(duì)象的攔截操作方法
這篇文章主要介紹了Struts2實(shí)現(xiàn)對(duì)action請(qǐng)求對(duì)象的攔截操作方法,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下2017-11-11