37.0、springboot-定时执行任务的实现

37.0、springboot-定时执行任务的实现

这一节主要来讲讲以下几个内容

        TaskScheduler  任务调度器

        TaskExecutor  任务执行者

        @EnableScheduling  开启定时功能的注解

        @Scheduled  什么时候执行

        Cron表达式

        想要实现定时执行任务,需要以下几个步骤

第一步:在springboot主启动类中加上@EnableScheduling开启定时执行功能

第二步:我们就来写一个简单的定时任务执行代码,来感受一下。

        创建一个ScheduledService.java文件如下:

package com.hkl.service;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Service;

@Service
public class ScheduledService {

    //在一个特定的时间执行这个方法~  Timer

    //Cron表达式
    //秒  分  时  日  月  周几~
    /*
        30 15 10 * * ?   每天10点15分30秒执行一次
        30 0/5 10,18 * * ?    每天10点到18点,每个五分钟执行一次
        0 15 10 ? * 1-6    每个月的周一到周六 10点15分执行一次
    */
    @Scheduled(cron = "30 15 10 * * ?")
    public void hello() {
        System.out.println("hello,你被执行了~");
    }
}

        能看到在上面代码中的hello()方法上加了一个@Scheduled注解

在这个注解里我们可以使用Cron表达式来设置在特定的时间让他执行这个hello()方法。

        在上述Cron表达式中我们设定的意思是:在一周一天中每一天(因为写的是问号,问号代表每一天都执行)10点15分30秒执行这个hello()方法,

第三步:任务定时执行测试,测试很简单我们只需要把这里面的时间参数改一改,然后用测试类去调用这个方法就好了。

例如:我们可以将时间设置为当前时间的下一分钟,然后启动测试,

预期结果是在下一分钟到达的时候,后台打印出hello,你被执行了~ 这段话。

        Cron表达式还有很多很多种,这个可以自行百度都有很多很多的例子

        想要熟练掌握这个的话还是需要我们自己多看多练才能掌握

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值