DerekYRC/mini-spring

doCreateBean

gdhzLZ opened this issue · 3 comments

请问AbstractAutowireCapableBeanFactory#doCreateBean方法中返回之前会执行getSingleton,那之前的applyPropertyValues,initializeBean等工作不就白做了嘛?还是我哪里理解的有问题?

AbstractAutowireCapableBeanFactory

不是很明白你的问题。AbstractBeanFactory$getBean中执行getSingleton从单例缓存中查询bean,查询不到就走后面的创建bean实例、applyPropertyValues、initializeBean等等流程。

image
在返回前重新调用了getSingleton,是不是会导致前面的初始化白做了呢

不会。这行代码设计到循环依赖的解决方案,建议阅读changelog文件内容了解代码改动点。