SpringTask 基于springboot

  • 介绍

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

应用场景:信用卡每月还款提醒,银行贷款每月还款提醒,火车票售票系统处理未支付订单,入职纪念日为用户发送通知,只要是需要定时处理的场景都可以使用Spring Task

  • cron表达式: 
  • 详情可以参考cron表达式在线生成器https://cron.qqe2.com/   
  • cron表达式其实就是一个字符串,通过cron表达式可以定义任务触发的时间

    构成规则:分为67个域,由空格分隔开,每个域代表一个含义

    每个域的含义分别为:秒、分钟、小时、日、月、周、年(可选)

SpringTask的使用:

1.导入maven坐标 spring-context,在导入spring-boot核心起步依赖时以关联注入

<!--springboot启动依赖 -->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter</artifactId>
        </dependency>

2.启动类添加注解 @EnableScheduling 开启任务调度

3.自定义定时任务类

自定义类,创建自定义的方法,此方法没有返回值,在方法上面加入@Scheduled注解,参数为cron,参数值为cron表达式,可以参考cron表达式在线生成器生成

此方法较为灵活,可用于每天定时处理前一个工作日没有结束的订单等工作,用法自己定义

举例,每隔5秒自动输出日志,cron内的参数用空格分割,秒,分,时,日,月,周,年

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 {
    /**
     * 每隔5秒自动输出日志,cron内的参数用空格分割,秒,分,时,日,月,周,年
     */
    @Scheduled(cron = "0/5 * * * * ?")
    public void Timing(){
        log.info("每隔5秒自动输出:{}",new Date());
    }

}

  • 15
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值