在 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点执行");}
}