DerekYRC / mini-spring

mini-spring是简化版的spring框架,能帮助你快速熟悉spring源码和掌握spring的核心原理。抽取了spring的核心逻辑,代码极度简化,保留spring的核心功能,如IoC和AOP、资源加载器、事件监听器、类型转换、容器扩展点、bean生命周期和作用域、应用上下文等核心功能。

Home Page:https://github.com/DerekYRC/mini-spring

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

doCreateBean

gdhzLZ opened this issue · comments

commented

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

AbstractAutowireCapableBeanFactory

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

commented

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

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