SpringBoot之退出服務(exit)時呼叫自定義的銷燬方法
阿新 • • 發佈:2019-01-31
我們在工作中有時候可能會遇到這樣場景,需要在退出容器的時候執行某些操作。SpringBoot中有兩種方法可以供我們來選擇(其實就是spring中我們常用的方式。只是destory-method是在XML中配置的,SpringBoot是去配置化。所以這裡就不提這種方式了),一種是實現DisposableBean介面,一種是使用@PreDestroy註解。OK,下面我寫兩個例子看一下:
DisposableBean介面
我們可以通過實現這個介面來在容器退出的時候執行某些操作。例子如下:@PreDestroy註解 我們可以在需要的類的方法上新增這個註解,同樣可以滿足我們的需求。package com.zkn.learnspringboot.destory; import org.springframework.beans.factory.DisposableBean; import org.springframework.boot.ExitCodeGenerator; import org.springframework.stereotype.Component; /** * Created by zkn on 2016/8/14. */ @Component public class TestImplDisposableBean implements DisposableBean, ExitCodeGenerator { @Override public void destroy() throws Exception { System.out.println("<<<<<<<<<<<我被銷燬了......................>>>>>>>>>>>>>>>"); System.out.println("<<<<<<<<<<<我被銷燬了......................>>>>>>>>>>>>>>>"); } @Override public int getExitCode() { return 5; } }
package com.zkn.learnspringboot.destory; import org.springframework.stereotype.Component; import javax.annotation.PreDestroy; /** * Created by zkn on 2016/8/14. */ @Component public class TestAnnotationPreDestroy { @PreDestroy public void destory() { System.out.println("我被銷燬了、、、、、我是用的@PreDestory的方式、、、、、、"); System.out.println("我被銷燬了、、、、、我是用的@PreDestory的方式、、、、、、"); } }