文章詳情頁
簡單了解Spring beanfactory循環(huán)依賴命名重復(fù)屬性
瀏覽:82日期:2023-08-31 10:03:01
是否允許循環(huán)依賴和bean的命名重復(fù)取決于beanfactory的兩大屬性
allowBeanDefinitionOverriding和allowCircularReferences。這兩個屬性未指定時取的是DefaultListableBeanFactory中的默認(rèn)值,均為true,即默認(rèn)允許同名bean和循環(huán)引用(只有單例允許)。
但是假如讀者用的springboot版本比較新,就會發(fā)現(xiàn)情況并不是這樣,同名bean會沖突報錯。為什么呢,跟蹤源碼發(fā)現(xiàn)是Springboot應(yīng)用在2.1.8版本的時候給bean名沖突設(shè)定了默認(rèn)值為false。
在SpringApplication類中
總結(jié):spring舊版本默認(rèn)允許循環(huán)依賴(單例)和bean名覆蓋,但是在springboot 2.1.8版本之后不允許bean名覆蓋(可以提前發(fā)現(xiàn)問題),允許循環(huán)依賴(單例)。
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持好吧啦網(wǎng)。
標(biāo)簽:
Spring
上一條:Spring @RestController注解組合實(shí)現(xiàn)方法解析下一條:Spring Security學(xué)習(xí)之rememberMe自動登錄的實(shí)現(xiàn)
相關(guān)文章:
1. Python實(shí)現(xiàn)迪杰斯特拉算法過程解析2. Python 如何將integer轉(zhuǎn)化為羅馬數(shù)(3999以內(nèi))3. 詳解Python模塊化編程與裝飾器4. Python下使用Trackbar實(shí)現(xiàn)繪圖板5. html小技巧之td,div標(biāo)簽里內(nèi)容不換行6. Python通過format函數(shù)格式化顯示值7. python web框架的總結(jié)8. 以PHP代碼為實(shí)例詳解RabbitMQ消息隊列中間件的6種模式9. python使用ctypes庫調(diào)用DLL動態(tài)鏈接庫10. Python性能測試工具Locust安裝及使用
排行榜
