分为以下几个部分:
1.实例化BeanFactoryPostProcessor
2.调用了BeanFactoryPostProcessor的postProcessBeanFactory()方法
3.实例化beanpostProcessor
4.实例化nstantiationAwareBeanPostProcessor
5.执行InstantiationAwareBeanPostProcessor的postProcessBeforeInstantiation()方法(用户bean实例化开始前)
6.用户bean构造了
7.执行InstantiationAwareBeanPostProcessor的postProcessAfterInstantiation()方法(用户bean实例化开始后)
8.执行InstantiationAwareBeanPostProcessor的postProcessPropertyValues方法(准备给上述的实例化的bean对象初始化)
9.调用bean对象的setter方法设置用户bean的属性值(初始化完成)
10.执行BeanPostProcessor的postProcessBeforeInitialization方法(用户bean初始化完成后,若还想更改属性则可以在这里操作)
11.执行InstantiationAwareBeanPostProcessor的postProcessBeforeInitialization方法
12.现在执行用户bean对象中afterPropertiesSet方法
13.现在执行用户bean对象中的init方法
14.执行BeanPostProcessor的postProcessAfterInitialization方法
15.执行InstantiationAwareBeanPostProcessor的postProcessAfterInitialization方法