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