知识:
Spring 的 Bean 创建都会调用 AbstractAutowireCapableBeanFactory#createBean(xxx)
这个方法
调用 resolveBeanClass() 解析 bean 名称。
验证方法是否可以覆盖
生命周期,实例化调用 InstantiationAwareBeanPostProcessor#postProcessBeforeInstantiation(xx) 方法
生命周期,初始化之后,调用 BeanPostProcessor#postProcessAfterInitialization(xx) 方法
调用 doCreateBean(xx) 进行创建流程。
创建 BeanWrapper 用于包装 BeanDefinition。
生命周期,MergedBeanDefinitionPostProcessor#postProcessMergedBeanDefinition(xx) 合并 BeanDefinition。
循环依赖,addSingletonFactory()
属性填充,populateBean(xxx)
InitializeBean() xxx 里面的声名周期
生命周期,aware 注入
生命周期,PostProcessor#postProcessBeforeInitialization
生命周期,invokeInitMethods
生命周期,PostProcessor#postProcessAfterInitialization