簡單了解Spring beanfactory循環(huán)依賴命名重復屬性
是否允許循環(huán)依賴和bean的命名重復取決于beanfactory的兩大屬性

allowBeanDefinitionOverriding和allowCircularReferences。這兩個屬性未指定時取的是DefaultListableBeanFactory中的默認值,均為true,即默認允許同名bean和循環(huán)引用(只有單例允許)。


但是假如讀者用的springboot版本比較新,就會發(fā)現情況并不是這樣,同名bean會沖突報錯。為什么呢,跟蹤源碼發(fā)現是Springboot應用在2.1.8版本的時候給bean名沖突設定了默認值為false。
在SpringApplication類中


總結:spring舊版本默認允許循環(huán)依賴(單例)和bean名覆蓋,但是在springboot 2.1.8版本之后不允許bean名覆蓋(可以提前發(fā)現問題),允許循環(huán)依賴(單例)。
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
相關文章
Java Fluent Mybatis 分頁查詢與sql日志輸出詳解流程篇
Java中常用的ORM框架主要是mybatis, hibernate, JPA等框架。國內又以Mybatis用的多,基于mybatis上的增強框架,又有mybatis plus和TK mybatis等。今天我們介紹一個新的mybatis增強框架 fluent mybatis關于分頁查詢、sql日志輸出流程2021-10-10
SpringBoot項目報錯:"Error?starting?ApplicationContext....
這篇文章主要給大家介紹了關于SpringBoot項目報錯:“Error?starting?ApplicationContext.?To?display?the?conditions?report?re-run?...”的解決辦法,文中通過圖文介紹的非常詳細,需要的朋友可以參考下2022-08-08

