springboot使用定时任务
在 Spring Boot 中,可以使用 Spring 自带的定时任务框架 @Scheduled
来创建定时任务。使用 @Scheduled
注解可以简单、方便地实现定时任务的调度,无需使用其他的定时任务框架。
下面是一个简单的示例,展示如何在 Spring Boot 中创建定时任务:
1、添加maven依赖
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-quartz</artifactId>
</dependency>
2、 在主程序上添加启用定时任务注解
@EnableScheduling
@SpringBootApplication
public class XstWebApplication {
}
3、添加对应的定时任务执行方法
package com.yishuo.xst.web.task;
import lombok.extern.slf4j.Slf4j;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;
/***
* fixedDelay表示方法执行完成后间隔多少ms执行
* fixedRate表示方法执行开始后间隔多少ms执行
* cron表示按照指定cron表达式执行,可以直接在这个网站转换https://cron.qqe2.com/
* 清楚过期的禁用数据
* @author yishuo
* @date 2023/11/29 4:53:41
*/
@Slf4j
@Component
public class ClearDisableDataTasks {
/***
* 表示方法执行完成后5秒
*/
@Scheduled(fixedDelay = 5000)
public void fixedDelayJob() {
log.info("fixedDelay 每隔5秒");
}
/***
*表示每隔6秒,以任务开始计时
*/
@Scheduled(fixedRate = 6000)
public void fixedRateJob() {
log.info("fixedRate 每隔6秒");
}
/***
* 表示每天2点执行
*/
@Scheduled(cron = "0 0 2 * * ?")
public void cronJob() {
log.info("表示每天2点执行");
}
}