java編程 java里面能用循環(huán)來(lái)調(diào)用invoke多個(gè)函數(shù)嘛?
java里面能用循環(huán)來(lái)調(diào)用invoke多個(gè)函數(shù)嘛?是的,一般情況下是用循環(huán)來(lái)進(jìn)行調(diào)取,而且在使用這個(gè)函數(shù)的時(shí)候是沒(méi)有任何限制的。Spring如何解決循環(huán)依賴(lài)的問(wèn)題?Spring是通過(guò)先創(chuàng)建對(duì)象,將對(duì)象
java里面能用循環(huán)來(lái)調(diào)用invoke多個(gè)函數(shù)嘛?
是的,一般情況下是用循環(huán)來(lái)進(jìn)行調(diào)取,而且在使用這個(gè)函數(shù)的時(shí)候是沒(méi)有任何限制的。
Spring如何解決循環(huán)依賴(lài)的問(wèn)題?
Spring是通過(guò)先創(chuàng)建對(duì)象,將對(duì)象放在緩存中,再進(jìn)行屬性設(shè)置的。比如A,B互相依賴(lài),先創(chuàng)建A對(duì)象,放在緩存中,設(shè)置屬性時(shí)發(fā)現(xiàn)依賴(lài)B,這時(shí)候初始化B,設(shè)置B的屬性,發(fā)現(xiàn)依賴(lài)A,緩存中有A的引用,雖然還沒(méi)有初始化完全。B初始化完成后,A就可以拿到B了。這僅僅是解決set依賴(lài),如果是構(gòu)造器依賴(lài)就解決不了了。
隨便說(shuō)一句,一般架構(gòu)設(shè)計(jì)的時(shí)候都是上層調(diào)下層,同層和下層調(diào)上層都不應(yīng)該出現(xiàn),可以考慮下設(shè)計(jì)是不是有問(wèn)題。
希望對(duì)你有幫助,如果有用記得點(diǎn)個(gè)贊哦,也可以關(guān)注一下我,會(huì)分享一些技術(shù)類(lèi)文章。