简单了解Spring beanfactory循环依赖命名重复属性

软件发布|下载排行|最新软件

当前位置:首页IT学院IT技术

简单了解Spring beanfactory循环依赖命名重复属性

挣扎一下   2020-06-28 我要评论

本文着重讲解了简单了解Spring beanfactory循环依赖命名重复2大属性,文中通过代码实例讲解的非常细致,对大家的工作和学习具有一定的参考学习价值,欢迎大家阅读和收藏

是否允许循环依赖和bean的命名重复取决于beanfactory的两大属性

allowBeanDefinitionOverriding和allowCircularReferences。这两个属性未指定时取的是DefaultListableBeanFactory中的默认值,均为true,即默认允许同名bean和循环引用(只有单例允许)。


但是假如读者用的springboot版本比较新,就会发现情况并不是这样,同名bean会冲突报错。为什么呢,跟踪源码发现是Springboot应用在2.1.8版本的时候给bean名冲突设定了默认值为false。

在SpringApplication类中


总结:spring旧版本默认允许循环依赖(单例)和bean名覆盖,但是在springboot 2.1.8版本之后不允许bean名覆盖(可以提前发现问题),允许循环依赖(单例)。

Copyright 2022 版权所有 软件发布 访问手机版

声明:所有软件和文章来自软件开发商或者作者 如有异议 请与本站联系 联系我们