spring bean的生成过程(从BeanDefinition
作者:
黑铁大魔王 | 来源:发表于
2020-07-09 18:48 被阅读0次
- 实例化之前,从beanDefinitionMap里取出beanDef
- 创建SpringBean
- 生成包装的class
- 第一次调用后置处理器(postProcessBeforeInitialization, postProcessAfterInitialization)
- createBeanInstance()
- 第二次调用后置处理器(determineCandidateConstructors)推断构造方法
- 第三次调用给后置处理器(postProcessMergedBeanDefinition)合并beanDef
- 缓存beanFactory
- 第四次调用后置处理器(getEarlyBeanReference)处理循环依赖
- 填充属性(populateBean)
- 第五次调用后置处理器(postProcessAfterInstantiation)
- 第六次调用后置处理器(postProcessProperties, postProcessPropertyValues)为pvsToUse赋值
- 初始化bean(initializeBean),返回SpringBean
- 第七次调用后置处理器(postProcessBeforeInitialization)
- 第八次调用后置处理器(postProcessAfterInitialization)
- addSingleton
this.singletonObjects.put(beanName, singletonObject);
this.singletonFactories.remove(beanName);
this.earlySingletonObjects.remove(beanName);
this.registeredSingletons.add(beanName);
本文标题:spring bean的生成过程(从BeanDefinition
本文链接:https://www.haomeiwen.com/subject/qetgqktx.html
网友评论