spring生产对象的生命周期包括创建、初始化、销毁。
一、创建
spring创建bean是何时创建的?
如果该bean是单例的,那么和工厂applicationContext的创建一起被创建;如果该bean是多例的,那么在使用时才会被创建。
二、初始化,一般用于资源的初始化
spring将bean注入后,会调用对象的初始化方法。
对象的初始化方法spring提供了两种方法。
1、实现spring提供的InitializingBean接口,通过实现afterPropertiesSet() 方法初始化对象。(与spring框架存在耦合)
2、提供一个自定义myinit()方法,在创建该bean时指定初始化方法init-method。
<bean id="user" class="com.sms.entity.User" init-method="myInit" />
如果提供了两种初始化方法,那么先执行afterPropertiesSet()再执行myInit()。
三、销毁,一般用于资源的释放
销毁方法只适用于scope为singleton的对象。
spring销毁bean前,会首先调用对象的销毁方法,再完成销毁操作。
spring什么时候销毁bean?
在关闭spring工厂时,spring会销毁所有的bean。
对象的销毁方法spring提供了两种方法。
1、实现spring提供的DisposableBean接口,通过实现destroy() 方法初始化对象。(与spring框架存在耦合)
2、自定义方法,在销毁该bean时指定销毁方法destroy-method。
<bean id="user" class="com.sms.entity.User" destroy-method="myDestory">