Springboot项目启动时运行特定方法,项目关闭时执行特定操作

业务要求 系统更新,关闭SpringBoot项目时将所有未完成订单强制结束 并更新结束时间

项目关闭时运行

import javax.annotation.PreDestroy;
 
import org.springframework.stereotype.Component;
 
 
@Component
public class EndGlobalKeyboard {
 
    @PreDestroy
    public void destory() throws Exception {
		//你的代码
    }
}

被@PreDestroy修饰的方法会在服务器卸载Servlet的时候运行,并且只会被服务器调用一次,类似于Servlet的destroy()方法。被@PreDestroy修饰的方法会在destroy()方法之后运行,在Servlet被彻底卸载之前。

顺便测试一下项目启动时运行

import org.springframework.boot.CommandLineRunner;
import org.springframework.core.annotation.Order;
import org.springframework.stereotype.Component;
 
@Component
@Order(value = 1)
public class StartGlobalKeyboard implements CommandLineRunner{
 
	@Override
	public void run(String... args) throws Exception {
			//你的要执行的代码
	}
 
}

@Component 把普通pojo实例化到spring容器中,泛指各种组件,就是说当我们的类不属于各种归类的时候(不属于@Controller、@Services等的时候),我们就可以使用@Component来标注这个类。

@Order(value = 1)定义执行顺序,告诉项目加载完优先执行

访问接口验证

http://localhost:8080/yjc-portal/test1/shutdown
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值