簡(jiǎn)單了解Spring beanfactory循環(huán)依賴命名重復(fù)屬性
是否允許循環(huán)依賴和bean的命名重復(fù)取決于beanfactory的兩大屬性
allowBeanDefinitionOverriding和allowCircularReferences。這兩個(gè)屬性未指定時(shí)取的是DefaultListableBeanFactory中的默認(rèn)值,均為true,即默認(rèn)允許同名bean和循環(huán)引用(只有單例允許)。
但是假如讀者用的springboot版本比較新,就會(huì)發(fā)現(xiàn)情況并不是這樣,同名bean會(huì)沖突報(bào)錯(cuò)。為什么呢,跟蹤源碼發(fā)現(xiàn)是Springboot應(yīng)用在2.1.8版本的時(shí)候給bean名沖突設(shè)定了默認(rèn)值為false。
在SpringApplication類中
總結(jié):spring舊版本默認(rèn)允許循環(huán)依賴(單例)和bean名覆蓋,但是在springboot 2.1.8版本之后不允許bean名覆蓋(可以提前發(fā)現(xiàn)問題),允許循環(huán)依賴(單例)。
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
基于Mybatis-Plus攔截器實(shí)現(xiàn)MySQL數(shù)據(jù)加解密的示例代碼
用戶的一些敏感數(shù)據(jù),例如手機(jī)號(hào)、郵箱、身份證等信息,在數(shù)據(jù)庫(kù)以明文存儲(chǔ)時(shí)會(huì)存在數(shù)據(jù)泄露的風(fēng)險(xiǎn),因此需要進(jìn)行加密,解密等功能,接下來(lái)本文就給大家介紹基于Mybatis-Plus攔截器實(shí)現(xiàn)MySQL數(shù)據(jù)加解密,需要的朋友可以參考下2023-07-07springboot 中異步任務(wù),定時(shí)任務(wù),郵件任務(wù)詳解
這篇文章主要介紹了springboot 與異步任務(wù),定時(shí)任務(wù),郵件任務(wù),本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2023-09-09Spring?MVC文件請(qǐng)求處理MultipartResolver詳解
這篇文章主要介紹了Spring?MVC文件請(qǐng)求處理詳解:MultipartResolver,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-11-11SpringBoot中Mybatis注解一對(duì)多和多對(duì)多查詢實(shí)現(xiàn)示例
這篇文章主要介紹了SpringBoot中Mybatis注解一對(duì)多和多對(duì)多查詢的實(shí)現(xiàn)示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-03-03細(xì)說(shuō)Springcloud eureka的幾種主動(dòng)下線服務(wù)的方式
這篇文章主要介紹了細(xì)說(shuō)Springcloud eureka的幾種主動(dòng)下線服務(wù)的方式,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2018-09-09