JavaWeb-Spring Task定时任务

目录

  • 一、概述
  • 二、cron表达式
  • 三、入门
    • 3.1 导入Maven坐标
    • 3.2 注解开发
    • 3.3 自定义定时任务类

一、概述

Spring Task是Spring框架提供的任务调度工具,可以按照约定的时间自动执行某个代码逻辑。

二、cron表达式

cron表达式其实就是一个字符串,通过cron表达式可以定义任务触发的时间。
构成规则:分为6或7个域,由空格分隔开,每个域代表一个含义。
每个域的含义分别是:秒 分钟 小时 日 月 周 年(可选)

在线Cron表达式生成器

三、入门

3.1 导入Maven坐标

Spring Task的依赖存在于spring-context中,在引入spring boot的依赖依赖传递包含了spring-context

在这里插入图片描述

3.2 注解开发

在主启动类上增加@EnableScheduling

@SpringBootApplication
@EnableScheduling // 开启任务调度
public class SkyApplication {
    public static void main(String[] args) {
        SpringApplication.run(SkyApplication.class, args);
        log.info("server started");
    }
}

3.3 自定义定时任务类

import lombok.extern.slf4j.Slf4j;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;

import java.util.Date;

/**
 * 自定义定时任务
 */

@Slf4j
@Component
public class MyTask {
    /**
     * 表示每2秒 执行任务
     */
    @Scheduled(cron = "0/5 * * * * ? ")
    public void executeTask() {
        log.info("定时任务开始执行:{}", new Date());
    }
}

在这里插入图片描述