SpringTask简单使用

2023-12-20 12:21:34

SpringTask

**cron表达式在线生成器:**https://www.bejson.com/othertools/cron/

**阿里云开发者社区手册:**https://developer.aliyun.com/article/942392

Demo演示

创建SpringBoot项目,在启动项上加上@EnableScheduling

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.scheduling.annotation.EnableScheduling;

@SpringBootApplication
@EnableScheduling
public class SpringtaskApplication {

    public static void main(String[] args) {
        SpringApplication.run(SpringtaskApplication.class, args);
    }

}

在这里插入图片描述

创建包task,在下面新建DemoTask

需要在上面加上@Component被Spring管理;在需要的方法上加上@Scheduled(cron = "0/2 * * * * ?")

cron是表达式

@Component
public class DemoTask {
    @Scheduled(cron = "0/2 * * * * ?")
    public void task() {
        System.out.println("Hello World");
    }
}

之后运行项目会发现每个两秒打印一次

在这里插入图片描述

cron表达式

定时任务触发时间的一个字符串表达形式,分为6或7个域,每一个域代表一个含义。

cron的结构从左到右(用空格隔开):秒 分 小时 月份中的日期 月份 星期中的日期 年份

这些字段的取值范围如下所示:

字段允许的值允许的特殊字符
秒(Seconds)0-59, - * /
分(Minutes)0-59, - * /
时(Hours)0-23, - * /
日(DayofMonth)1-31, - * ? / L W
月(Month)1-12 or JAN-DEC, - * /
周(DayofWeek)0-6 or SUN-SAT (0表示星期天), - * ? / L #
年(Year)留空或1970-2099, - * /

|
| 年(Year) | 留空或1970-2099 | , - * / |

注:如日和月同时维护,例如:3 50 18 15 2 4,需要注意二月的星期四,不一定是15号,此时星期和日是有冲突的,通常需要舍掉一个,被舍掉的参数用**?**占位Cron表达式的时间字段除允许设置数值外,还可使用一些特殊的字符,提供列表、范围、通配符等功能。

文章来源:https://blog.csdn.net/weixin_46533577/article/details/135100735
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。