java inovationtargetexception nullpointerexception

異常信息:inovationtargetexception nullpointerexception

很奇怪的現(xiàn)象,當(dāng)我使用spring注解注入service時(shí),調(diào)用serviceimpl方法,debug都進(jìn)不去方法,直接拋出inovationtargetexception nullpointerexception異常,自己傳遞的參數(shù)username,password等等明明有值不為空,怎么可能空指針,百思不得姐,,,

registerService.doRegister(username, password),剛開始一直圍繞著doRegister方法,想到底哪里null,其他方法調(diào)用此方法沒有一點(diǎn)問題,所以可以排除doRegister方法內(nèi)部問題,那么,既然方法沒問題,為什么不想一下調(diào)用者的問題呢,于是,測(cè)試:

if(registerService == null){
    log.info("registerService為空");
    return false;
}

控制臺(tái):registerService為空,果然,是spring注入registerService出現(xiàn)問題,根本沒有注入成功,也就導(dǎo)致空指針問題了,也就導(dǎo)致反射調(diào)用空對(duì)象inovationtargetexception 異常了,所以,排查注入出現(xiàn)的問題

原來(lái),我的WxAuthServiceImpl和QQAuthServiceImpl都實(shí)現(xiàn)了AuthService接口,然后注入的時(shí)候直接寫成了:@Autowired AuthService authService,然后調(diào)用authService.dosomething...方法spring當(dāng)然不知道該調(diào)用哪一個(gè)實(shí)現(xiàn)類的方法,所以報(bào)錯(cuò),所以,解決辦法:

  • controller類:
    @Autowired
    @Qualifier("qqAuthService")
    AuthService qqAuthService;

  • @Autowired
    @Qualifier("wxAuthService")
    AuthService wxAuthService;

  • 實(shí)現(xiàn)類:
    @Service("wxAuthService")
    @Service("qqAuthService")
    加上唯一注解,以便spring能夠正確注入
    搞定

總結(jié):看了很多網(wǎng)上的問題和解決辦法,再結(jié)合自己的,很有可能就是spring注入的問題,沒有注入進(jìn)去,導(dǎo)致異常

題外話:至于網(wǎng)上很多原因及解決辦法,我想說的是,其實(shí)解決辦法很多都可行,只不過只適用于他們那種特定的場(chǎng)景,所以有效,但是落實(shí)到咱每個(gè)人,遇到的錯(cuò)誤不一樣,異常類似,具體的解決辦法肯定不一樣,這時(shí),不應(yīng)該照搬,而應(yīng)該想一下出現(xiàn)這種異常的原因可能是什么,然后再結(jié)合別人的解決方案進(jìn)行調(diào)試,一步一步找到問題和解決辦法,這樣才能提升

另外,debug調(diào)試非常重要,非常重要,非常重要,咱程序員一定要掌握其用法!

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

推薦閱讀更多精彩內(nèi)容

  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 134,973評(píng)論 19 139
  • 文章作者:Tyan博客:noahsnail.com | CSDN | 簡(jiǎn)書 3.9 Annotation-base...
    SnailTyan閱讀 1,194評(píng)論 0 3
  • Spring Boot 參考指南 介紹 轉(zhuǎn)載自:https://www.gitbook.com/book/qbgb...
    毛宇鵬閱讀 46,970評(píng)論 6 342
  • 你好 我想這輩子就這樣了,終究我們還是分開了 我周圍有著一對(duì)讓人羨慕的戀人,相戀三年互相見過父母,最近卻剛剛分手了...
    唐渟閱讀 164評(píng)論 0 0
  • 文來(lái)源:落憂 【滿天飛雪降紅塵】 1994年的12月,滿天雪花飛舞,地上結(jié)了厚厚的一層冰。似乎今年的冬天格外冷。 ...
    吳希道閱讀 650評(píng)論 0 4