Skip to content

Commit

Permalink
update changelog.md
Browse files Browse the repository at this point in the history
  • Loading branch information
DerekYRC committed Jan 30, 2021
1 parent a41ad3e commit 75e8309
Showing 1 changed file with 1 addition and 1 deletion.
2 changes: 1 addition & 1 deletion changelog.md
Original file line number Diff line number Diff line change
Expand Up @@ -1447,7 +1447,7 @@ A依赖B,B又依赖A,循环依赖。容器加载时会执行依赖流程:

单测见CircularReferenceWithoutProxyBeanTest#testCircularReference。

增加二级缓存,不能解决有代理对象时的循环依赖。原因是放进二级缓存earlySingletonObjects中的bean是实例化后的bean,而放进一级缓存singletonObjects中的bean是代理对象(代理对象在BeanPostProcessor#postProcessAfterInitialization中返回),两个缓存中的bean不一致。比如上面的例子,如果A被代理,那么B拿到的a是实例化后的A,而a是被代理后的对象,即b.getA() != a,见单测
增加二级缓存,不能解决有代理对象时的循环依赖。原因是放进二级缓存earlySingletonObjects中的bean是实例化后的bean,而放进一级缓存singletonObjects中的bean是代理对象(代理对象在BeanPostProcessor#postProcessAfterInitialization中返回),两个缓存中的bean不一致。比如上面的例子,如果A被代理,那么B拿到的a是实例化后的A,而a是被代理后的对象,即b.getA() != a,见单测CircularReferenceWithProxyBeanTest。

下一节填坑。

Expand Down

0 comments on commit 75e8309

Please sign in to comment.