Springboot实现定时任务

发布时间:2023年12月22日

一、定时任务是什么?

定时执行任务,只有电脑不关机就可以在特定的时间去执行相应的代码,例如抢购脚本等

二、使用步骤

1.无需引入springboot自带

package com.ltx.blog_ltx;

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

@EnableScheduling //开启定时功能的注解
@SpringBootApplication
public class BlogLtxApplication {
    public static void main(String[] args) {
        SpringApplication.run(BlogLtxApplication.class, args);
    }
}

2.创建配置service类

在配置类上加入:@Service注解

每写一个任务都有加一个? ? @Scheduled(cron = "") 注解?

package com.example.spingbootswagger.service;
 
 
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Service;
//TaskScheduler 任务调度程序
 
@Service
public class tasksService {
    // 秒 分 时 天 月 周几~
    // 0 * * * * 0-7  每个月的每天每时每分每秒周一到周七都会执行
 
    /**
     * 30 15 10 * * ? 每天10点15分30 执行
     *
     * 30 0/5 10,18 * * ? 每天10时18时每个五分钟执行
     * 0 15 10 ? * 1-6 每个月的周一到周六10.15分钟执行一次
     */
 
    @Scheduled(cron = "0/1 * * * * 0-7")
    public void hello3(){
        System.out.println("每秒打印");
    }
 
    @Scheduled(cron = "0/2 * * * * 0-7")
    public void hello(){
        System.out.println("每隔两秒打印");
    }
 
    @Scheduled(cron = "0/3 * * * * 0-7")
    public void hello1(){
        System.out.println("每个三秒打印");
 
    }
}

3.Cron表达式介绍

Cron表达式是一个具有时间含义的字符串,字符串以5~6个空格隔开,分为6~7个域,格式为X X X X X X X。其中X是一个域的占位符。最后一个代表年份的域非必须,可省略。单个域有多个取值时,使用半角逗号,隔开取值。每个域可以是确定的取值,也可以是具有逻辑意义的特殊字符。每个域最多支持一个前导零。

域取值

????下表为Cron表达式中六、七个域能够取的值以及支持的特殊字符。

?取值示例

?????以下为Cron表达式的取值示例。

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