SpringBoot如何​​​​​​​在关闭容器之前实现自己逻辑?


有时,我们需要在关闭spring容器之前做一些额外的工作,比如关闭资源文件。

这时,你可以实现DisposableBean接口并重写其destroy方法。

@Service
public class DService implements InitializingBean, DisposableBean {
 
    @Override
    public void destroy() throws Exception {
        System.out.println("DisposableBean destroy");
    }
 
    @Override
    public void afterPropertiesSet() throws Exception {
        System.out.println("InitializingBean afterPropertiesSet");
    }
}

这样一来,在spring容器被销毁之前,destroy方法将被调用,做一些额外的工作。

通常情况下,我们会同时实现InitializingBean和DisposableBean接口,并重写初始化方法和销毁方法。