SpringBoot做定时任务

本文介绍了如何利用SpringBoot快速实现定时任务。通过引入基础依赖、启用@EnableScheduling注解以及编写带有@Component和@Scheduled注解的定时任务类,可以便捷地设置和运行定时任务。文中还提到了在线生成cron表达式的工具。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

什么是定时任务

定时任务就是每到固定的时间, 需要执行的命令/脚本

SpringBoot真的很方便, 使用它做定时调度只需要简单几步就可以实现:

1. 引入依赖(只需要引入SpringBoot的基础依赖即可, SpringBoot已整合定时器任务)

  <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.0.1.RELEASE</version>
    </parent>

    <dependencies>
        <!-- SpringBoot 核心组件 -->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
    </dependencies>

2.在启动类中打上@EnableScheduling注解,开启定时任务

@SpringBootApplication
@EnableScheduling //开启定时任务
public class MainApplication {

    public static void main(String[] args) {
        SpringApplication.run(MainApplication.class, args);
    }
}

3.写自己的定时任务类 (在线生成crod工具–地址)

  • 要在任务的类上写@Component
  • 要在任务方法上写@Scheduled
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;

import java.util.Date;

/**
 * @ClassName Jobs
 * @Author lukaifang
 * @Description Jobs
 **/

@Component
public class Jobs {
    //表示方法执行完成后5秒
    @Scheduled(fixedDelay = 5000)
    public void fixedDelayJob() throws InterruptedException {
        System.out.println("fixedDelay 每隔5秒" + new Date());
    }

    //表示每隔3秒
    @Scheduled(fixedRate = 3000)
    public void fixedRateJob() {

        System.out.println("fixedRate 每隔3秒" + new Date());
    }

    //表示每天8时30分0秒执行
    @Scheduled(cron = "0 0,30 0,8 ? * ? ")
    public void cronJob() {
        System.out.println(new Date() + " ...>>cron....");
    }
}

运行主配置类, 执行结果如下:

fixedRate 每隔3秒Thu Jun 20 20:26:41 CST 2019
fixedDelay 每隔5秒Thu Jun 20 20:26:43 CST 2019
fixedRate 每隔3秒Thu Jun 20 20:26:44 CST 2019
fixedDelay 每隔5秒Thu Jun 20 20:26:48 CST 2019
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值