springboot 啟動之后報錯:Unsatisfied dependency through field ‘bbbClient’

springboot 啟動之后報錯:UnsatisfiedDepencyException:Error creating bean with name ‘aaaServiceImpl’: Unsatisfied dependency through field ‘bbbClient’。

這兩天一直在進行著日常 debugger 查看代碼。可是發生了一個挺“靈異”的事件。那就是我看的項目某些模塊突然間啟動不了了!!!著實震驚,因為在上午前半段我還啟動了代碼,啟動了服務。具體的原因,我說一下。

因為客戶需求,所以我又在原來的項目上面添加功能,然后中間需要用到其他服務的 service 層。所以,秉著能抄就抄、能模仿就模仿的原則,我查看其他的(也就是原來他人所寫)代碼,我發現可以用到 feign 。所以,也就照著“模仿”了。然后下面就是,我在啟動的時候,出現了下面的錯誤:

org.springframework.beans.factory.UnsatisfiedDepencyException: Error creating bean with name 'aaaController' defined in file [E:\項目名字的物理路徑\controller\AaaController.class]: Unsatisfied dependency expressed through constructor parameter 0: nested exception is org.springframework.beans.factory.UnsatisfiedDepencyException:Error creating bean with name 'aaaServiceImpl': Unsatisfied dependency through field 'bbbClient';  nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'org.項目名.b服務.feign.bbbClient': Unexpected exception during bean creation; nested exception is java.lang.IllegalstateException: No fallback instance of type class org.項目名.b服務.feign.bbbClientFallback found for feign client 項目名-b服務at org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstrucorResolver.java:779)......

解釋一下啊,因為保密協議,我不確定什么可以放出,什么不可以放出,所以只要上面有涉及到的,我都用了其他來代替。

  1. aaaController:是我需要在這個 controller 來像前端返回一些請求。
  2. aaaServiceImpl:controller 到 service 的實現類。
  3. bbbClient:這就是我在 aaaController 里面需要用到 b 服務的 service 而所寫

也就是,我在 a 服務里面調用 b 服務里面的某一個 service,我使用了 feign。

然后,就是這些我寫完了之后,再進行 debugger 啟動時,出現了上面的錯誤信息。

最開始,我覺得是沒有啟動好,或者 idea 日常的幺蛾子。所以,我就重新啟動了一下。經過了一會兒,再次出現了,我想這會不會是這個項目有問題?然后我就把所有的模塊都重啟了一次。

又是一段漫長的等待,還是如此,然后還多了兩個模塊,報的也是上面同樣的錯誤。我開始了懷疑人生。怎么又多了倆?這兩個模塊我也沒有動代碼啊?咋回事?然后我開始了網絡查詢。看了眾多之后,看到了一篇和我一樣的。他的解決方法是:在啟動類上面添加了一個注釋:@MapperScan(basePackages = “org.項目名.b服務.feign.bbbClient”)。然后我再次重新啟動,然后可以啟動了。可是這已經是中午了。對,整個上午沒有干什么事情,就是一直在啟動,啟動…

在吃飯的時候,我問了一下帶我的前輩,他說:既然之前能夠啟動,證明別人所寫是沒有問題的。你不能夠私自在啟動類上面添加一些注釋。因為架子別人已經搭好了,你寫需求還是沒問題的,但是啟動類,還是要小心一些。你也要想想是不是你自己寫的代碼有問題。

吃完午飯,我打開了電腦,神奇的一幕,我的 a 服務報錯了。就是再 idea 上面有一片紅色的波浪線。(此時是已經把啟動類上面自己所加的注釋給去了的)。然后開始找錯的地方,用 idea 給的提示,發現再 pom.xml 文件里面添加了一個 b 服務的依賴。此時我不能理解。但是重啟了一下,好了。至此,暫告一段。

接著,我開始照著抄了一下自己寫的代碼:因為這個需求邏輯相同,但是是不同的地方,不同的類(主要是 bbbClient 里面添加了新方法)。在再次啟動的時候,對,我又懷疑了人生。我這次也添加了依賴啊?為什么還會出現這個問題呢?不理解,極致不理解。我自己查的也不是一個好的解決方法,我開始向我加的群里面的大佬們請教。很快,有位群友說:可以嘗試一下 clean 編譯一下試試。我重新試了試,至此完美解決。

造成一切的原因是:

  • 自己 a 服務里面用了 b 服務的 service ,自己沒有添加依賴。這個誰都不愿,只能怨自己代碼熟悉得不夠多,不夠熟練。
  • 嗯,只能說 idea 這幺蛾子有點多。之前是只要自己語法錯誤,它會給我們報出錯誤。但是這次沒有。
  • 最后,還是只能怨自己。畢竟,要是熟悉了使用 feign 的步驟,哪會有這些問題?

以上,只算是自己的一些見解。謝謝!!!

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/212191.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/212191.shtml
英文地址,請注明出處:http://en.pswp.cn/news/212191.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

46. 全排列

46. 全排列 原題鏈接:完成情況:解題思路:參考代碼:_46全排列_構建數組回溯_46全排列_直接構建 錯誤經驗吸取 原題鏈接: 46. 全排列 https://leetcode.cn/problems/permutations/description/ 完成情況:…

codeforces D.In Love

思路 用兩個 m u l t i s e t multiset multiset 分別存 l , r l,r l,r 。你也可以寫平衡樹在 l l l 的 m u l t i s e t multiset multiset 里去查詢是否存在比最小的 r r r 大的 l l l 。 Think Twice, Code Once #include<bits/stdc.h> #define il inline #d…

小模型學習(1)-人臉識別

【寫作背景】因為最近一直在研究大模型&#xff0c;在與客戶進行交流時&#xff0c;如果要將大模型的變革性能力講清楚&#xff0c;就一定要能將AI小模型的一些原理和效果講清楚&#xff0c;進而形成對比。當然這不是一件簡單的事情&#xff0c;一方面大模型分析問題的的本質原…

Mybatis分頁插件PageHelper

PageHelper是什么&#xff1f; 是MyBatis提供的分頁插件&#xff0c;可以支持MySQL、Oracle等六種數據庫。 集成方式如下&#xff1a; 1 引入依賴 <!-- https://mvnrepository.com/artifact/com.github.pagehelper/pagehelper --> <dependency><groupId>co…

反射加載SDK完成統一調用

文章目錄 1、需求背景2、接口抽象類具體實現類3、疑問4、存在的問題5、通過反射加載SDK并完成調用5、補充&#xff1a;關于業務網關7、補充&#xff1a;關于SDK的開發 關鍵點&#xff1a; 接口抽象類&#xff08;半抽象半實現&#xff09;具體實現類業務網關反射加載SDK&#…

JAVA如何調用python

以下代碼想通過測試&#xff0c;必須有一個前提&#xff1a;電腦上安裝了Python環境。不太習慣說廢話&#xff0c;直接上代碼了。 以下是用于測試的python代碼&#xff08;mytest.py&#xff09;&#xff1a; # 因為用戶到了參數處理&#xff0c;所以需要引用 import argpars…

Java學習手冊——第五篇數據類型

數據類型&#xff1a;是數據化的基石&#xff0c;如果沒有數據類型怎么表示呢&#xff1f;比如年齡可以用整數&#xff1a;18歲。如果有更好的表示方式大家可以留言喲~ 在舉個例子就是姓名&#xff0c;我們需要用字符串的形式來表示。這就是數據類型的魅力&#xff0c;而又有同…

TS基礎語法

前言&#xff1a; 因為在寫前端的時候&#xff0c;發現很多UI組件的語法都已經開始使用TS語法&#xff0c;不學習TS根本看不到懂&#xff0c;所以簡單的學一下TS語法。為了看UI組件的簡單代碼&#xff0c;不至于一臉懵。 一、安裝node 對于windows來講&#xff0c;node版本高…

電腦出現這些現象,說明你的固態硬盤要壞了

與傳統機械硬盤&#xff08;HDD&#xff09;相比&#xff0c;固態硬盤&#xff08;SSD&#xff09;速度更快、更穩定、功耗更低。但固態硬盤并不是完美無瑕的&#xff0c;由于顆粒寫入機制&#xff0c;可能會在七到十年的預期壽命之前出現故障。所以用戶最好為最終故障做好準備…

網頁設計中增強現實的興起

目錄 了解增強現實 增強現實的歷史背景 AR 和網頁設計的交叉點 AR 在網頁設計中的優勢 增強參與度和互動性 個性化的用戶體驗 競爭優勢和品牌差異化 AR 在網頁設計中的用例 結論 近年來&#xff0c;增強現實已成為一股變革力量&#xff0c;重塑了我們與數字領域互動的方式。它被…

【FMCW毫米波雷達設計 】 — FMCW波形

原書&#xff1a;FMCW Radar Design 1 引言 本章研究驅動FMCW雷達的主要波形:線性調頻(LFM)波形。我們研究信號的行為及其性質。隨后&#xff0c;本章討論了匹配濾波理論&#xff0c;并研究了壓縮這種波形的技術&#xff0c;特別是所謂的拉伸處理&#xff0c;它賦予FMCW雷達極…

DOS 批處理 (二)

DOS 批處理 1. 基礎 DOS 命令1.1 基礎命令1.2 文件系統操作1.3 文件夾管理1.4 文件管理1.5 網絡相關1.6 系統管理1.7 IF、FOR和NETIFFORNET 1. 基礎 DOS 命令 command /? 查找幫助DOS命令不區分命令字母的大小寫 C:\Users\Administrator>echo 1 1 C:\Users\Administrator…

基于SSM框架的倉庫管理系統

基于SSM框架的倉庫管理系統 文章目錄 基于SSM框架的倉庫管理系統 一.引言二.系統設計三.技術架構四.功能實現五.界面展示六.源碼獲取 一.引言 現代商業環境中&#xff0c;倉庫管理對于企業的運營效率和客戶滿意度至關重要。傳統的手工管理方式已經無法滿足日益復雜的倉儲需求。…

【Spring】SpringBoot日志

SpringBoot日志 日志概述日志使用打印日志獲取日志對象使用日志對象打印日志日志框架介紹門面模式SLF4J框架介紹(simple logging facade for java) 日志格式說明日志級別日志級別的分類日志級別的使用 日志配置配置日志級別日志持久化配置日志文件的路徑和文件名配置日志文件的…

【刷題篇】動態規劃(六)

文章目錄 1、最大子數組和2、環形子數組的最大和3、乘積最大子數組4、乘積為正數的最長子數組長度5、 等差數列劃分6、最長湍流子數組 1、最大子數組和 給你一個整數數組 nums &#xff0c;請你找出一個具有最大和的連續子數組&#xff08;子數組最少包含一個元素&#xff09;&…

【Unity動畫】Avatar Mask

創建 Avatar Mask可以設置那一部分骨骼運動和不運動 然后放在狀態機里面的層中來混合 【后續完善】

深入探索 Rust 宏編程

Rust 宏提供了一種強大的方法來編寫抽象和重用代碼,它們在 Rust 編程中扮演著重要的角色。本文將深入探索 Rust 宏的概念、類型、使用方法以及如何實現自定義宏,以提供一個全面的 Rust 宏編程指南。 Rust 宏簡介 宏是 Rust 中的一種元編程工具,它們在編譯時運行,用于生成…

linux安裝node

文章目錄 安裝node 安裝node 一次手操記錄 - 首先安裝wget yum install -y wget - 下載nodejs最新的tar包 wget https://cdn.npm.taobao.org/dist/node/v12.12.0/node-v12.12.0-linux-x64.tar.xz - 解壓包 tar -xvf node-v12.12.0-linux-x64.tar.xz - 部署bin文件 先確認你no…

30 張圖解 HTTP 常見的面試題

前言 在面試過程中&#xff0c;HTTP 被提問的概率還是比較高的 我搜集了 5 大類 HTTP 面試常問的題目&#xff0c;同時這 5 大類題跟 HTTP 的發展和演變關聯性是比較大的&#xff0c;通過問答 圖解的形式由淺入深的方式幫助大家進一步的學習和理解 HTTP 協議。 HTTP 基本概…

第四節JavaScript 條件語句、循環語句、break與continue語句

一、JavaScript條件語句 在通常的代碼中&#xff0c;我們有一些需要決定執行不同動作&#xff0c;這就可以在代碼中使用條件語句來完成。 下面是我們常使用的條件語句&#xff1a; if語句&#xff1a;只有當指定條件是true時&#xff0c;執行條件內代碼。if…else語句&#…