spring 循环依赖问题

在Spring框架中,对于单例bean,会采用两阶段创建来处理循环依赖,即先实例化后赋值。然而,在prototype和setter模式组合时,可能出现BeanCurrentlyInCreationException异常。当一个bean为prototype,一个为singleton时,此问题不会出现。同时,构造方法注入无法解决循环依赖问题。
摘要由CSDN通过智能技术生成

单例和setter模式下支持循环依赖

 在这种模式下,对bean的管理分为两个阶段:

    第一个阶段:在Spring容器加载的时候,实例化bean,只要任意一个bean实例化之后,马上进行曝光

    第二个阶段:bean曝光之后,再进行属性的赋值

核心解决方案是:实例化对象和对象属性的赋值分为两个阶段来完成

只有scope的值是单例的情况下,bean才会采取提前曝光的措施

在prototype+setter模式下的循环依赖存在问题。会出现BeanCurrentlyInCreationException异常

 当一个为prototype,一个为singleton时,不会出现异常

 当使用构造方法注入时,没有办法解决循环依赖

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值