今天就跟大家聊聊有關如何解決Java循環依賴的問題,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結了以下內容,希望大家根據這篇文章可以有所收獲。
10多年的東港網站建設經驗,針對設計、前端、開發、售后、文案、推廣等六對一服務,響應快,48小時及時工作處理。成都全網營銷的優勢是能夠根據用戶設備顯示端的尺寸不同,自動調整東港建站的顯示方式,使網站能夠適用不同顯示終端,在瀏覽器中調整網站的寬度,無論在任何一種瀏覽器上瀏覽網站,都能展現優雅布局與設計,從而大程度地提升瀏覽體驗。創新互聯從事“東港網站設計”,“東港網站推廣”以來,每個客戶項目都認真落實執行。
最近看到一個問題:如果有兩個類A和B,A類中有一個B的對象b,B類中有一個A的對象a,那么如何解決這兩個類的相互依賴關系呢,幾天就給大家說一下Java的循環依賴,raksmart服務器。
舉個栗子1:
可以看到A類的構造方法中,new了一個B的對象,同時B類的構造方法中,new了一個A的對象。
如果此時我們運行該類的話,會報如下錯誤:
Exception in thread “main” java.lang.StackOverflowError
問題出現的原因在于A類和B類之間出現了循環依賴。
那么是否有方法可以解決這個問題呢?答案是:有
舉個栗子2:
運行例子2,運行結果為:
BB
AA
AA
BB
在例子2中,testa和testb創建時調用的是類A和類B的默認構造方法,創建了類A和類B的實例。
然后將B的實例注入到類A中。testa.b = testb;
將A的實例注入到類B中。testb.a = testa;
testa.print()調用b.printA();b.printA()調用a.printA();a.printA()顯示結果為AA
我們通過屬性注入的方法,使得類A和類B不在出現例子1中的錯誤,并且使得兩個相互依賴的類A和B可以調用相互依賴的方法。
事實上,spring中也是通過依賴注入的方法來解決類的相互依賴問題。
看完上述內容,你們對如何解決Java循環依賴的問題有進一步的了解嗎?如果還想了解更多知識或者相關內容,請關注創新互聯行業資訊頻道,感謝大家的支持。
網頁名稱:如何解決Java循環依賴的問題
鏈接URL:http://www.yijiale78.com/article48/ihdgep.html
成都網站建設公司_創新互聯,為您提供自適應網站、網站制作、App開發、網站維護、動態網站、靜態網站
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯