www.久久久久|狼友网站av天堂|精品国产无码a片|一级av色欲av|91在线播放视频|亚洲无码主播在线|国产精品草久在线|明星AV网站在线|污污内射久久一区|婷婷综合视频网站

當(dāng)前位置:首頁 > 公眾號精選 > 程序員小灰
[導(dǎo)讀]最近很多水友在后臺留言問關(guān)于Spring的循環(huán)依賴問題,這也是最近兩年新出的面試頻度較高的面試題! 下面我們就通過這篇文章讓大家了解循環(huán)依賴的問題 什么是循環(huán)依賴? 循環(huán)依賴其實是指兩個及以上bean相互持有對方,最終形成閉環(huán)的過程(一般聊循環(huán)依賴都是


最近很多水友在后臺留言問關(guān)于Spring的循環(huán)依賴問題,這也是最近兩年新出的面試頻度較高的面試題!


下面我們就通過這篇文章讓大家了解循環(huán)依賴的問題


什么是循環(huán)依賴?

循環(huán)依賴其實是指兩個及以上bean相互持有對方,最終形成閉環(huán)的過程(一般聊循環(huán)依賴都是默認的單例bean),簡單說就是A依賴B,B依賴C,C又依賴A。



其實在Spring中,有兩種循環(huán)依賴的場景...

  • 第一種:構(gòu)造器的循環(huán)依賴

  • 第二種:setter的依賴注入


第一種是沒有辦法解決的,而第二種可以使用提前暴露對象的方式進行解決


那么肯定有很多小伙伴會有疑問,為什么?

其實想搞明白這個問題,需要對Spring的Bean的生命周期有一個完整的了解,如下圖:


大家可能對這個圖不太熟悉,但是我要強調(diào)的是,圖中我已經(jīng)用三種顏色標(biāo)識了,除了使用這部分之外,可以分為實例化和初始化,這也是解決問題的核心。

同時,Spring中還使用了三級緩存來解決問題:


上圖就是Spring中的三級緩存,那么問題來了

  • Spring是如何通過三級緩存來解決問題的?

  • 一級緩存能不能解決?為什么?

  • 二級緩存能不能解決?為什么?

  • 為什么非要使用三級緩存?使用三級緩存是為了解決什么問題?

為了弄懂這個問題,我在微信上跟馬士兵老師聊了很久,恍然大悟!

這里面知識點很多,以后有機會要專門寫一篇,如果你等不及,可以先去參加一下馬老師的大廠必備Spring訓(xùn)練營

時間:7月16日-7月17日 兩天,晚20:00開始

我為大家申請到了公眾號專屬福利,這兩天的直播,大家可以免費報名!誠意夠不夠?


如何參加?

掃碼加小助手,獲取直播地址

報名即送架構(gòu)師成長路線圖

專屬福利,名額有限,先到先得

課程大綱

第一天:

  • 如何利用反射實現(xiàn)Autowired注解

  • 一招教你如何手撕SpringIOC源碼

  • Spring程序是如何啟動的?

  • Spring是如何加載配置文件到應(yīng)用程序的?

  • 掌握核心接口BeanDefinitionReader

  • 掌握核心接口BeanFactory

  • 徹底搞懂Spring的refresh方法

  • BeanPostProcessor接口的作用及實現(xiàn)

  • BeanFactoryPostProcessor接口的作用及實現(xiàn)


第二天:

  • Spring Bean有沒有必要實現(xiàn)Aware接口

  • Spring Bean的實例化過程大揭密

  • Spring Bean的初始化到底干了什么

  • 徹底理解FactoryBean接口

  • 完美解析Spring Bean的生命周期

  • Spring的Environment接口有什么作用?

  • 為什么產(chǎn)生循環(huán)依賴問題

  • 循環(huán)依賴在Spring中是如何解決的

  • 如何巧妙回答Spring IOC面試題


連續(xù)兩天(7月16日-7月17日)每天2小時(20:00-22:00),免費聽大廠必備Spring,干貨滿滿,只能幫到你這里了,快去一起學(xué)習(xí)吧...

現(xiàn)在掃碼立即免費報名

掃碼加小助手,獲取直播地址

報名即送架構(gòu)師成長路線圖

專屬福利,名額有限,先到先得

另外準(zhǔn)備一份干貨滿滿的學(xué)習(xí)資料,送給大家,抓緊領(lǐng)取...


如何參加?

掃碼加小助手,獲取直播地址

報名即送架構(gòu)師成長路線圖

專屬福利,名額有限,先到先得

免責(zé)聲明:本文內(nèi)容由21ic獲得授權(quán)后發(fā)布,版權(quán)歸原作者所有,本平臺僅提供信息存儲服務(wù)。文章僅代表作者個人觀點,不代表本平臺立場,如有問題,請聯(lián)系我們,謝謝!

本站聲明: 本文章由作者或相關(guān)機構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
關(guān)閉
關(guān)閉