Spring Bean的生命周期只有4个阶段:

    1. 实例化 Instantiation - 构造方法
    2. 属性赋值 Populate - setter方法的注入
    3. 初始化 Initialization
    4. 销毁 Destruction

    初始化和销毁是用户能自定义扩展的两个阶段。

    主要逻辑都在doCreate()方法中,逻辑很清晰,就是顺序调用以下三个方法,这三个方法与三个生命周期阶段一一对应:

    1. createBeanInstance() -> 实例化
    2. populateBean() -> 属性赋值
    3. initializeBean() -> 初始化