再准备填充属性
发现依赖A, 依次判断一/二/三级缓存, 最终从三级缓存中获取到A的ObjectFactory
调用ObjectFactory#getObject, 获取到对象A, 并将A从三级缓存移除...先说结论, 是没问题的
如果A是需要代理的情况下, 上文步骤3d: ObjectFactory#getObject会返回代理A对象, 直接将其存入一级缓存....B注入属性时, 无法判断A是否需要代理....A完成属性注入, 完成初始化, 再将A转移到一级缓存, 完成
但即使有三级缓存也无法解决构造器的循环依赖, 对象无法正常实例化, 没有操作的空间
相关方法源码注释
DefaultSingletonBeanRegistry...'的bean时出错:
// 名为'aoo'的bean以其原始版本的形式作为循环引用的一部分注入到其他bean [boo]中
/