模型服务连接失败

Spring 为什么不能解决构造器的循环依赖?

Java
分类
分布式系统
难度
未设置
来源数
1
更新时间
2026/03/29 15:43

答案

主要是由于在实例化A时,会先调用A的构造方法,在将其放入到三级缓存当中,而构造器注入的话,会在放入缓存之前去对B进行实例化,B同样调用构造方法去获取A,但A并不存在于缓存当中,这就会抛出异常,无法解决。

元信息

审核状态: active
关联来源: 1

来源面经题(0)

这道题目前没有手动沉淀的面经题来源。

来源(1)

Java八股(框架).md

knowledge_note
Question 20: Spring 为什么不能解决构造器的循环依赖? Source answer: 主要是由于在实例化A时,会先调用A的构造方法,在将其放入到三级缓存当中,而构造器注入的话,会在放入缓存之前去对B进行实例化,B同样调用构造方法去获取A,但A并不存在于缓存当中,这就会抛出异常,无法解决。 Reviewed answer: 因为构造器注入时,依赖在实例化前就必须准备好,Bean 还没来得及放入三级缓存,无法提前暴露引用,因此无法通过三级缓存解决。