線程池的實(shí)現(xiàn)原理和實(shí)現(xiàn)方法 Spring如何解決循環(huán)依賴的問題?
Spring如何解決循環(huán)依賴的問題?Spring首先創(chuàng)建對(duì)象,將它們放置在緩存中,然后設(shè)置它們的屬性。例如,a和B相互依賴。首先,創(chuàng)建一個(gè)對(duì)象并將其放入緩存。在設(shè)置屬性時(shí),我們發(fā)現(xiàn)它依賴于B。此時(shí),我
Spring如何解決循環(huán)依賴的問題?
Spring首先創(chuàng)建對(duì)象,將它們放置在緩存中,然后設(shè)置它們的屬性。例如,a和B相互依賴。首先,創(chuàng)建一個(gè)對(duì)象并將其放入緩存。在設(shè)置屬性時(shí),我們發(fā)現(xiàn)它依賴于B。此時(shí),我們初始化B并設(shè)置B的屬性。我們發(fā)現(xiàn)它依賴于a,并且緩存中有對(duì)a的引用,盡管它尚未完全初始化。B初始化后,a可以得到B。這只是解決集合依賴,而不是構(gòu)造函數(shù)依賴。
隨便說,在一般的建筑設(shè)計(jì)中,上層是轉(zhuǎn)移到下層的,同一層和下層都不應(yīng)該轉(zhuǎn)移到上層。我們可以考慮設(shè)計(jì)中是否有問題。
希望對(duì)你有所幫助,如果有用,記得要喜歡哦,你也可以關(guān)注我,會(huì)分享一些技術(shù)文章的。
各位,Spring中的依賴注入,和控制反轉(zhuǎn)怎么理解?
依賴注入和控制反轉(zhuǎn)是同一個(gè)概念。具體含義是:當(dāng)一個(gè)角色(可能是一個(gè)Java實(shí)例,調(diào)用者)需要另一個(gè)角色(另一個(gè)Java實(shí)例,被調(diào)用者)的幫助時(shí),在傳統(tǒng)的編程過程中,調(diào)用者通常會(huì)創(chuàng)建被調(diào)用者的實(shí)例。但是,在spring中,創(chuàng)建被調(diào)用方的工作不再由調(diào)用方完成,因此稱為控制反轉(zhuǎn)。創(chuàng)建被調(diào)用方實(shí)例的工作通常由spring容器完成,然后注入調(diào)用方,因此也稱為依賴注入。無論是依賴注入還是控制反轉(zhuǎn),都表明spring采用了一種動(dòng)態(tài)靈活的方式來管理各種對(duì)象。對(duì)象之間的具體實(shí)現(xiàn)是透明的。在理解依賴注入之前,讓我們先看看如何在各種社交形式中解決這個(gè)問題:一個(gè)人(Java實(shí)例,調(diào)用者)需要一個(gè)ax(Java實(shí)例,調(diào)用者)。