Spring bean 的初始化和销毁回调

本文介绍了如何在 Spring 中让 Bean 在初始化和销毁时执行特定方法,提供了使用注解 @PostConstruct 和 @PreDestroy、实现 InitializingBean 和 DisposableBean 接口以及 XML 配置 init-method 和 destroy-method 三种方式。Spring 官方推荐使用注解方式,以减少对框架的依赖。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

有时想让 Spring Bean 在创建或者销毁时执行某些特定方法,有三种方式

  • 使用注解 @PostConstruct@PreDestroy
  • 实现 InitializingBeanDisposableBean
  • XML 配置中指定 init-method 和 destroy-method

Spring 官方推荐第一种方式,使用注解 @PostConstruct@PreDestroy,这减少了对 Spring 框架的依赖,因为这是 Java 提供的注解,只需将这两个注解标在你想要回调的方法上

public class Example {

    @PostConstruct
    public void init() {
        // init
    }

    @PreDestroy
    public void destroy() {
        // destroy
    }
}

第二种方式需要实现 InitializingBeanDisposableBean 接口,分别实现 afterPropertiesSet()destroy() 方法

public class Example implements InitializingBean, DisposableBean {
    public void afterPropertiesSet() {
        // do some initialization work
    }
    public void destroy() {
        // do some destruction work
    }
}

第三种方式需要使用 XML 配置

<bean id="exampleBean" class="examples.ExampleBean" init-method="init" destroy-method="destroy"/>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值