【八股文】Spring框架为何要使用三级缓存(循环依赖)
如果 B 的 Bean 不存在,则需要创建 B 的 Bean,而创建 B 的 Bean 的过程和 A 一样,也是先创建一个 B 的原始对象,然后把 B 的原始对象提早暴露出来放入缓存中,然后在对 B 的原始对象进行依赖注入 A,此时能从缓存中拿到 A 的原始对象(虽然是 A 的原始对象,还不是最终的 Bean),B 的原始对象依赖注入完了之后,B 的生命周期结束,那么 A 的生命周期也能结束。正常的代理的对象初始化后期调用生成的,是基于后置处理器的,若提早的代理就违背了Bean定义的生命周期。
原创
2024-04-20 15:21:43 ·
930 阅读 ·
0 评论