java

关注公众号 jb51net

关闭
首页 > 软件编程 > java > SpringBoot注解实现定时任务

SpringBoot中注解实现定时任务的两种方式

作者:yuhuofei2021

这篇文章主要介绍了SpringBoot中注解实现定时任务的两种方式,SpringBoot 定时任务是一种在SpringBoot应用中自动执行任务的机制,通过使用Spring框架提供的@Scheduled注解,我们可以轻松地创建定时任务,需要的朋友可以参考下

SpringBoot注解实现定时任务

在 SpringBoot 中使用定时任务非常简单,只需要两个注解就可以实现。

第一个注解@EnableScheduling

在项目的启动类上,加上注解 @EnableScheduling ,开启定时任务支持。示例如下所示:

package com.yuhuofei;

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

@EnableScheduling
@SpringBootApplication
public class SpringbootSwaggerApplication {

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

}

第二个注解@Scheduled

新建一个跑定时任务的类,里面写上方法,在方法上加上 @Scheduled 注解,然后写上每次定时任务执行的间隔时间。示例如下所示:

package com.yuhuofei.task;

import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Service;

import java.text.SimpleDateFormat;
import java.util.Date;

/**
 * @Description
 * @ClassName ScheduledTask
 * @Author yuhuofei
 * @Date 2022/8/24 21:22
 * @Version 1.0
 */
@Service
public class ScheduledTask {

    //cron表达式
    //秒 分 时 日 月 周几
    //下面的语句表示每隔10秒执行一次
    @Scheduled(cron = "*/10 * * * * ?")
    public void printHello() {
        System.out.println("hello,你好呀!现在的时间是:" + new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()));
    }
}

测试结果

每隔 10 秒钟执行一次定时任务,结果如下:

在这里插入图片描述

注意点

使用上面的方式处理定时任务,需要注意的点就是 cron 表达式怎么写的问题。

不过这种也很简单,直接网上搜一搜,然后把表达式拼出来就解决了,不难!

到此这篇关于SpringBoot中注解实现定时任务的两种方式的文章就介绍到这了,更多相关SpringBoot注解实现定时任务内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

您可能感兴趣的文章:
阅读全文