带你玩转SpringBoot定时任务

一.定时任务的几种创建方式:

SpringBoot创建定时任务很简单,有三种创建方式:

  1. 基于注解的方式:@Scheduled
  2. 基于接口的方式:基于注解的方式大家都很熟悉,但是实际工作中,我们有时要从数据库中读取时间来执行定时任务,这时就要用到接口的方式了。
  3. 基于注解设置多线程任务,这种方式用的不多。

下面我们主要介绍前两种方式。

二.基于注解:

注解方式的任务是单线程的,如果开启多个任务时,执行任务会受上一个任务的影响。

1.创建定时器(@Scheduled)

@Component

@Configuration //1.主要用于标记配置类,兼备Component的效果。

@EnableScheduling // 2.开启定时任务

public class SaticScheduleTask {

//或直接指定时间间隔,例如:5秒

@Scheduled(cron = "0/5 * * * * ?")

private void configureTasks() {

System.err.println("执行静态定时任务时间: " + LocalDateTime.now());

}

}

Cron表达式参数分别表示,这里我就不细说Cron,想了解的同学可以自己去查询:

  • 秒(0~59) 例如0/5表示每5秒
  • 分(0~59)
  • 时(0~23)
  • 日(0~31)的某天,需计算
  • 月(0~11)
  • 周几( 可填1-7 或 SUN/MON/TUE/WED/THU/FRI/SAT)

好了,上面的代码就可以启动测试了。

带你玩转SpringBoot定时任务

二.基于接口的方式:

1.基于接口的方式需要配置一些包依赖:

带你玩转SpringBoot定时任务

2.数据库添加时间:

带你玩转SpringBoot定时任务

3.创建定时器:

数据里时间设置好之后我们就可以创建定时器了。

带你玩转SpringBoot定时任务

看一下运行效果:

带你玩转SpringBoot定时任务

好了,SpringBoot的定时器的使用就介绍到这里了,喜欢小编的文章,就关注我吧。


分享到:


相關文章: