Spring Tack

介绍

Spring Task是Spring框架提供的任务调度工具,可以按照我们约定的时间自动执行某个代码逻辑。
使用Spring Task只需要导入Spring的基础包(spring-context),不需要额外的包,而且支持注解和配置文件两种形式

应用场景

  • 信用卡每月定时提醒还款
  • 银行贷款每月定时提醒还款
  • 火车票售票系统定时处理未支付订单
  • 支付系统定时清算对账

cron表达式

通过cron表达式可以定义任务触发的时间
cron表达式其实就是一个字符串,分为6或7个域,由空格分隔开,每个域代表一个含义
cron表达式中每个域的含义分别为:秒、分钟、小时、日、月、周、年
在这里插入图片描述2022年10月12日上午9点整对应的cron表达式为:0 0 9 12 10 ? 2022

cron表达式在线生成器

快速入门

一、导入坐标(spring基础包有这个)

<dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-context</artifactId>
      <version>5.2.4.RELEASE</version>
    </dependency>

二、启动类添加注解 @EnableScheduling 开启任务调度

@SpringBootApplication
@EnableTransactionManagement //开启注解方式的事务管理
@Slf4j
@EnableCaching//开启注解式缓存功能
@EnableScheduling//开启定时任务
public class ReggieApplication {
    public static void main(String[] args) {
        SpringApplication.run(ReggieApplication.class, args);
        log.info("server started");
    }
}

三、自定义定时任务类

/**
 * 定时任务 */
 * @Component
 * @Slf4j
 * public class SpringTaskDemo {
 *     /**
 *     * 定时处理方法,每5秒钟执行一次
 *   */
 *     @Scheduled(cron = "0/5 * * * * ?")
 *     public void doSomething(){
 *         log.info("业务处理,触发时间:{}",
 *                 DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss").format(LocalDateTime.now()));
 *     }
 * }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值