首页 > 代码库 > Bean的生命周期

Bean的生命周期

一.Bean的定义


二.Bean的初始化:

1.实现org.springframework.beans.factory.InitializingBean接口,覆盖afterPropertiesSet方法.来实现初始化工作

public class ExampleInitalizingBean implements InitializingBean {
    @Override
    public void aterPropertiesSet() throws Exception {
        // do some initializing work
    }
}



2.配置init-method,根据指定的init方法去执行初始化的工作

<bean id="exampleInitBean" class="example.ExampleBean" init-method="init" />
public class Example {
    public void init() {
        // do some initialization work
    }
}



3.配全局默认初始化/销毁方法,容器中所有的bean在初始化时都会调用init方法,在销毁时都会调用destory方法

<?xml version="1.0" encoding="UTF-8" ?>
<beans xmlns="............"
       xmlns:xsi="........"
       xsi:schemaLocation="....."
       
       default-init-method="init"  default-destory-method="destory" >
</beans>


三.Bean的使用


四.Bean的销毁:

1.实现org.springframework.beans.factory.DisposableBean接口,覆盖destory方法

2.配置destory-method

(代码如Bean的初始化)

3.配置全局默认初始化/销毁方法,容器中所有的bean在初始化时都会调用init方法,在销毁时都会调用destory方法

<?xml version="1.0" encoding="UTF-8" ?>
<beans xmlns="............"
       xmlns:xsi="........"
       xsi:schemaLocation="....."
       
       default-init-method="init"  default-destory-method="destory" >
</beans>


当以上三种初始化和销毁方法同时使用时,配置全局默认初始化和销毁方法失效(其是一个可选方法,默认的初始化和销毁方法在类中可有可无).实现接口覆盖方法的初始化和销毁方法和配置init-method/destory-method方法同时执行,但是 实现接口覆盖方法的初始化和销毁方法要先于 init-method/destory-method方法执行.


Bean的生命周期