Spring Bean循环依赖现象及解决方案 1.bean 创建过程 singletonObjects 一级缓存 earlySingletonObjects 二级缓存 singletonFactories 三级缓存 经过分析可以看到: 1.不支持循环依赖情况下,只有一级缓存生效,二三级缓存用不到 2.二三级缓存就是为了解决循环依赖,且之所以是二三级缓存而不是二级缓存,主要是可以解决循环依赖对象需要提前被aop代理,以及如果没有循环依赖,早期的bean也不会真正暴露,不用执行无用的代理过程,也不用重复执行代理过程。 2.循环引用解决方案