Spring Bean的生命周期管理方法

1.(建议)JSR-250提供了标准的、与JavaEE容器和Spring容器无关的生命周期回调函数
@PostConstruct,构造函数之后调用
@PreDestroy,注销之前调用
2.(不建议)
Spring框架提供的org.springframework.beans.factory.InitializingBean接口
afterPropertiesSet()
Spring框架提供的org.springframework.beans.factory.DisposableBean接口
destroy()
3.(建议)
1) XML配置文件中定义一个Bean时,使用init-method属性指定构造后的方法

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

XML配置文件中定义所有Beans时,使用default-init-method属性指定构造后的方法

<beans default-init-method="init">...</beans>

2) XML配置文件中定义一个Bean时,使用destroy-method属性指定注销前的方法

<bean id="exampleInitBean" class="examples.ExampleBean" destroy-method="cleanup"/>
public class ExampleBean {
    public void cleanup() {
        // do some destruction work (like releasing pooled connections)
    }
}

XML配置文件中定义所有Beans时,使用default-destroy-method属性指定注销前的方法

<beans default-destroy-method="init">...</beans>


补充:Spring容器的应用上下文的生命周期管理方法

org.springframework.context.Lifecycle接口

start()

stop()

isRunning()


你可能感兴趣的:(spring,lifecycle,PreDestroy,PostConstruct)