1.前言
SpringBoot项目启动和销毁时有时候需要执行某一段代码。
2.实现
1.服务器启动时(初始化)
我们需要实现CommandLineRunner或ApplicationRunner这两个接口,两个接口都有一个run()方法,在实现接口时需要覆盖该方法。
2.服务器停止时(销毁)
需要我们实现DisposableBean接口覆盖里面的 destroy()方法
3.案例
@Component //注册成bean 被spring管理
public class InitSyncConfig implements ApplicationRunner,DisposableBean {
@Override
public void run(ApplicationArguments args) throws Exception {
//初始化所有线程
System.out.println("启动了");
//initThreads();
}
@Override
public void destroy() throws Exception {
System.out.println("销毁了 destroy");
}
4.运行结果
5.说明
测试的话建议大家使用 java -jar 的方式去启动,可以模拟服务器被销毁(会执行destroy()方法)。
idea中 停止按钮代表服务器断电,不会有效果;