概述上述代码:
1.
2.
接下来的步骤直接结合文章开头的代码来看吧,此处不再一一列举。
介绍factorybean
自定义初始化方法:
缓存中获取单例bean
从bean的实例中获取对象
上述代码中的doGetObjectFromFactoryBean
获取单例
注:这里对ObjectFactory使用匿名内部类,对应下面第七步(7)。
这里的回调方法指的是beforeSingletonCreation和afterSingleCreation等。
上述代码整体操作过程如下:
准备创建bean
上述代码第二步的处理override属性
上上述代码第三步的 实例化的前置处理(resolveBeforeInstantiation)
上述代码中的applyBeanPostProcessorsBeforeInstantiation方法:
上上述代码中的applyBeanPostProcessorsAfterInstantiation方法:
上上上图中的红线部分提到了,如果返回的bean不为空,则后面的doCreatebean方法将不会调用,所以在
方法中应用了后处理器的方法。
所以