Spring三级缓存如何解决循环依赖?
详细说明三级缓存机制解决循环依赖的过程。
回答
我是大山
一级缓存singletonObjects(完全创建);二级earlySingletonObjects(早期引用);三级singletonFactories(ObjectFactory)。
A依赖B、B依赖A:A实例化→三级缓存→B实例化→发现依赖A→三级→二级→返回给B→B完成→A完成。
仅适用于Setter/字段注入+单例。构造器注入无法解决。
详细说明三级缓存机制解决循环依赖的过程。
一级缓存singletonObjects(完全创建);二级earlySingletonObjects(早期引用);三级singletonFactories(ObjectFactory)。
A依赖B、B依赖A:A实例化→三级缓存→B实例化→发现依赖A→三级→二级→返回给B→B完成→A完成。
仅适用于Setter/字段注入+单例。构造器注入无法解决。