SpringTask简单使用

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);
    }

}

SpringTask简单使用_第1张图片

创建包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");
    }
}

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

SpringTask简单使用_第2张图片

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表达式的时间字段除允许设置数值外,还可使用一些特殊的字符,提供列表、范围、通配符等功能。

你可能感兴趣的:(java,java,spring,boot,springTask,spring)