Spring beanfactory循環依存命名の重複属性を簡単に理解します。

1027 ワード

循環依存性とbeanの名前の重複を許可するかどうかは、beanfactoryの2つの属性に依存します。

allowBeanDefinitionOverridingとallowCirculareferencesです。この二つの属性が指定されていない時に取ったのはDefaultListable BenFactoryのデフォルト値で、つまりデフォルトでは同じ名前のbeanと循環参照が許可されています。


しかし、読者用のspringbootのバージョンが比較的新しいと、そうではないことが分かります。なぜですか?追跡のソースコードはSpringbootの2.1.8バージョンの時にbean名の衝突にデフォルト値を設定したfalseです。
SprigAplicationクラスで


まとめ:springの古いバージョンはデフォルトではサイクル依存(単例)とbean名カバーが許されていますが、springboot 2.1.8バージョンの後では、bean名カバーは許されません(問題は事前に発見できます)。循環依存(単例)が可能です。
以上が本文の全部です。皆さんの勉強に役に立つように、私たちを応援してください。