贯穿bean生命周期的9次BeanPostProcess的执行
1、InstantiationAwareBeanPostProcessor,如果此处返回了bean实例,将直接返回,不会再走下面的doCreateBean流程
2、SmartInstantiationAwareBeanPostProcessor.determineCandidateConstructors(),决定用哪个构造方法实例化
--------------------------------------------------------------------实例化------------------------------------------------------------------------
3、MergedBeanDefinitionPostProcessor.postProcessMergedBeanDefinition(),解析并缓存注解信息
4、InstantiationAwareBeanPostProcessor,是否要进行属性注入
--------------------------------------------------------------------属性注入------------------------------------------------------------------------
5、SmartInstantiationAwareBeanPostProcessor,用于循环依赖时,提前暴露动态代理对象
6、InstantiationAwareBeanPostProcessor.postProcessPropertyValues(),解析@Autowired和@Resource注解
7、依次回调bean后置处理器的postProcessBeforeInitialization方法
--------------------------------------------------------------------初始化------------------------------------------------------------------------
8、BeanPostProcess的postProcessAfterInitialization方法,aop创建动态代理的地方
9、DestructionAwareBeanPostProcessor,注册销毁方法