SPRING 一月 28, 2020

Spring之循环依赖的解决方案

文章字数 7.9k 阅读约需 7 mins.

循环依赖就是循环引用,就是两个或者多个 bean 相互之间的持有对方,最后形成一个环。例如 A 引用了 B,B 引用了 C,C 引用了 A。

原型(Prototype)的场景是不支持循环依赖的,通常会走到AbstractBeanFactory类中下面的判断,抛出异常。通过构造器注入的循环依赖,也是无法解决的。

对于 setter 注入造成的依赖可以通过 Spring 容器提前暴露刚完成构造器注入但未完成其他步骤(如 setter 注入)的 bean 来完成。

Bean创建的几个关键点

Spring 创建Bean的过程,大致和对象的初始化有点类似吧。有几个关键的步骤

  • createBeanInstance...
查看全文
0%