Spring Task
Spring系列框架中Spring Framework自带的定时任务,
使用上面两种方式,很难实现某些特定需求,比如每周一执行某任务,但SpringTask可轻松实现。
以SpringBoot为例来实现:
1、开启定时任务
在SpringBoot的启动类上声明 @EnableScheduling:
@SpringBootApplication
@EnableScheduling //开启定时任务
public class DemoApplication {
// -- --
}
2、添加定时任务
只需使用@Scheduled注解标注即可,
如果有多个定时任务,可以创建多个@Scheduled标注的方法,示例如下:
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;
@Component // 把此类托管给 Spring,不能省略
public class TaskUtils {
// 添加定时任务
@Scheduled(cron = "30 40 23 0 0 5") // cron表达式:每周一 23:40:30 执行
public void doTask(){
System.out.println("我是定时任务~");
}
}
Spring Boot 启动后会自动加载并执行定时任务,无需手动操作。
Cron 表达式
Spring Task 的实现需要使用 cron 表达式来声明执行的频率和规则,cron 表达式是由 6 位或者 7 位组成的(最后一位可以省略),每位之间以空格分隔,每位从左到右代表的含义如下:
————————————————
版权声明:本文为CSDN博主「深海呐」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_39731011/article/details/123332641