SpringBoot整合定时任务

Posted 小小渔夫

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SpringBoot整合定时任务相关的知识,希望对你有一定的参考价值。

定时任务一般是项目中都需要用到的,可以用于定时处理一些特殊的任务。 在SpirngBoot中使用定时任务变的特别简单,不需要再像SpringMVC一样写很多的配置,只需要在启动类上增加一个@EnableScheduling注解即可。

启动类开启定时任务

 1 //开启定时任务
 2 @EnableScheduling
 3 @RestController
 4 @SpringBootApplication
 5 //设置扫描的包名
 6 @ComponentScan(basePackages = {"com.preach.controller"})
 7 public class InchlifcApplication {
 8    public static void main(String[] args) {
 9       SpringApplication.run(InchlifcApplication.class, args);
10    }
11 }

使用定时任务的类上使用注解@Compoment,在方法上使用注解@Scheduled

 1 @Component
 2 public class IndexController {
 3 
 4     /**
 5      * 时间间隔,每隔5秒执行一次
 6      */
 7     @Scheduled(fixedRate = 5000)
 8     public void task() {
 9         System.out.println("现在时间是:"+new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()));
10     }
11 }

@Compoment用来标明这是一个被Spring管理的Bean
@Scheduled是方法上注解,添加该注解的方法即为单个计划任务,有两种方式可以定义:

  1. @Scheduled(fixedRate = 3000)
    通过@Scheduled声明该方法是计划任务,使用fixedRate属性每隔固定时间执行一次

  2. @Scheduled(cron = "0 0/10 * * * ?")
    使用cron表达式可按照指定时间执行,这里是每10分钟执行一次;

结果

技术分享图片

以上是关于SpringBoot整合定时任务的主要内容,如果未能解决你的问题,请参考以下文章

SpringBoot整合定时任务

SpringBoot2.x整合quartz实现多任务定时执行

SpringBoot整合定时任务和异步任务处理 3节课

Spring系列——springboot整合quarter定时任务

SpringBoot慕课学习-SpringBoot开发常用技术整合-定时任务

SpringBoot整合Quartz定时任务