(第3讲)bean的生命周期

Servlet -> servlet生命周期 init() destory()

java对象生命周期.  

 

①      实例化(当我们的程序加载beans.xml文件),把我们的bean(前提是scope=singleton)实例化到内存

②      调用set方法设置属性

③      如果你实现了bean名字关注接口(BeanNameAware)则,可以通过setBeanName获取id号

④      如果你实现了 bean工厂关注接口,(BeanFactoryAware),则可以获取BeanFactory

⑤      如果你实现了 ApplicationContextAware接口,则调用方法

//该方法传递ApplicationContext

       publicvoid setApplicationContext(ApplicationContext arg0)

                     throwsBeansException {

              //TODO Auto-generated method stub

              System.out.println("setApplicationContext"+arg0);

             

       }

⑥      如果bean 和 一个后置处理器关联,则会自动去调用 Object postProcessBeforeInitialization方法

⑦      如果你实现InitializingBean 接口,则会调用 afterPropertiesSet

⑧      如果自己在<bean init-method=”init” /> 则可以在bean定义自己的初始化方法.

⑨      如果bean 和 一个后置处理器关联,则会自动去调用 Object postProcessAfterInitialization方法

⑩      使用我们的bean 

11. 容器关闭

12. 可以通过实现DisposableBean 接口来调用方法 destory

13. 可以在<bean destory-method=”fun1”/> 调用定制的销毁方法

 

小结: 我们实际开发中往往,没有用的这么的过程,常见的是:

1->2->6->10->9->11 即:

  实例化(当我们的程序加载beans.xml文件),把我们的bean(前提是scope=singleton)实例化到内存——>   调用set方法设置属性 ——>    如果bean 和 一个后置处理器关联,则会自动去调用 Object postProcessBeforeInitialization方法 ——>    使用我们的bean ——>   容器关闭


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值