一、概述
Spring Task 是Spring框架提供的任务调度工具,可以按照约定的时间自动执行某个代码逻辑。
定位:定时任务框架
作用:定时自动执行某段Java代码
二、使用
1、添加依赖(通常不需要)
Java的java.util.concurrent
中已经提供了基本的任务调度功能,Spring Boot进一步封装了这些API,在spring-boot-starter
中自动包含了这部分支持。所以一般情况下,并不需要显式地添加额外的Spring Task依赖。
2、启用任务调度
就是在启动类上添加@EnableScheduling注解开启Spring Task的调度功能
@SpringBootApplication
@EnableScheduling
public class MySpringBootApplication {
...
3、创建定时任务
在bean中的方法上添加@Scheduled
注解将方法定义为定时任务,使用cron表达式配置多久执行一次,关于cron表达式,可以直接去网上找在线cron表达式生成器
/**
* 自定义定时任务类
*/
@Component
@Slf4j
public class MyTask {
/**
* 定时任务 每隔5秒触发一次
*/
@Scheduled(cron = "0/5 * * * * ?")
public void executeTask(){
log.info("定时任务开始执行:{}",new Date());
}
}