CodeWalk

Spring三级缓存如何解决循环依赖?

作者:我是大山 · 2026-05-30 12:55

详细说明三级缓存机制解决循环依赖的过程。

回答

我是大山

一级缓存singletonObjects(完全创建);二级earlySingletonObjects(早期引用);三级singletonFactories(ObjectFactory)。

A依赖B、B依赖A:A实例化→三级缓存→B实例化→发现依赖A→三级→二级→返回给B→B完成→A完成。

仅适用于Setter/字段注入+单例。构造器注入无法解决。