Spring容器中Bean的生命周期,实际代码角度(非源码)

Spring容器中Bean的生命周期,实际代码角度(非源码)
初始代码情况:
配置文件:
Spring容器中Bean的生命周期,实际代码角度(非源码)
类文件:
Spring容器中Bean的生命周期,实际代码角度(非源码)

第一步:bean对象实例化。

即执行Man中的Man方法进行初始化。

第二步:封装属性。

Spring容器中Bean的生命周期,实际代码角度(非源码)
配置文件:
Spring容器中Bean的生命周期,实际代码角度(非源码)

第三步:如果Bean实现BeanNameAware则执行setBeanName()方法

Spring容器中Bean的生命周期,实际代码角度(非源码)
重写里面的setBeanName并执行。

第四步,第五步与第三步相同,实现接口,执行方法。

第六步:如果存在类实现BeanPostProcessor,即该Bean关联了BeanPostProcessor。

注意:1.不是man Bean实现了BeanPostProcessor接口 2.只是关联关系。
Spring容器中Bean的生命周期,实际代码角度(非源码)
Spring容器中Bean的生命周期,实际代码角度(非源码)
Spring容器中Bean的生命周期,实际代码角度(非源码)

第七步:同三

第八步:执行配置文件中指定的初始化方法

Spring容器中Bean的生命周期,实际代码角度(非源码)

第九步:同六

第十步:执行业务处理

即Man中的业务代码
Spring容器中Bean的生命周期,实际代码角度(非源码)

第11步:同三。

第12步:执行配置文件中指定的销毁方法。同八。

Spring容器中Bean的生命周期,实际代码角度(非源码)

参考文献:
1.慕课网
2.http://c.biancheng.net/view/4261.html
链接地址