簡(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)問(wèn)題),允許循環(huán)依賴(單例)。
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Java Fluent Mybatis 分頁(yè)查詢與sql日志輸出詳解流程篇
Java中常用的ORM框架主要是mybatis, hibernate, JPA等框架。國(guó)內(nèi)又以Mybatis用的多,基于mybatis上的增強(qiáng)框架,又有mybatis plus和TK mybatis等。今天我們介紹一個(gè)新的mybatis增強(qiáng)框架 fluent mybatis關(guān)于分頁(yè)查詢、sql日志輸出流程2021-10-10
Java雙向鏈表倒置功能實(shí)現(xiàn)過(guò)程解析
這篇文章主要介紹了Java雙向鏈表倒置功能實(shí)現(xiàn)過(guò)程解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-09-09
SpringBoot項(xiàng)目報(bào)錯(cuò):"Error?starting?ApplicationContext....
這篇文章主要給大家介紹了關(guān)于SpringBoot項(xiàng)目報(bào)錯(cuò):“Error?starting?ApplicationContext.?To?display?the?conditions?report?re-run?...”的解決辦法,文中通過(guò)圖文介紹的非常詳細(xì),需要的朋友可以參考下2022-08-08
淺談Java?abstract關(guān)鍵字不能和哪些關(guān)鍵字共存
本文主要介紹了Java?abstract關(guān)鍵字不能和哪些關(guān)鍵字共存,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2023-10-10
springboot實(shí)現(xiàn)rabbitmq消息確認(rèn)的示例代碼
RabbitMQ的消息確認(rèn)有兩種, 一種是消息發(fā)送確認(rèn),第二種是消費(fèi)接收確認(rèn),本文主要介紹了springboot實(shí)現(xiàn)rabbitmq消息確認(rèn)的示例代碼,具有一定的參考價(jià)值,感興趣的可以了解一下2023-09-09
JSch教程使用sftp協(xié)議實(shí)現(xiàn)服務(wù)器文件載操作
這篇文章主要為大家介紹了JSch如何使用sftp協(xié)議實(shí)現(xiàn)服務(wù)器文件上傳下載操作,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步2022-03-03

