Spring计划任务用法实例详解

 更新时间:2019年11月06日 08:40:42   作者:cakincqm  
这篇文章主要介绍了Spring计划任务用法,结合实例形式详细分析了spring计划任务相关原理、配置、使用方法及操作注意事项,需要的朋友可以参考下

本文实例讲述了Spring计划任务用法。分享给大家供大家参考,具体如下:

一 点睛

从Spring3.1开始,计划任务在Spring中的实现变得异常的简单。只需要下面两步。

1 通过在配置类上注解@EnableScheduling来开启对计划任务的支持。

2 在要执行计划任务的方法上注解@Scheduled,声明这是一个计划任务。

Spring通过@Scheduled支持多种类型的计划任务,包含cron、fixDelay、fixRate等。

二 实战

1 配置类

package com.wisely.highlight_spring4.ch3.taskscheduler;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.Configuration;
import org.springframework.scheduling.annotation.EnableScheduling;
@Configuration
@ComponentScan("com.wisely.highlight_spring4.ch3.taskscheduler")
@EnableScheduling //1
public class TaskSchedulerConfig {
}

2 计划任务执行类

package com.wisely.highlight_spring4.ch3.taskscheduler;
import java.text.SimpleDateFormat;
import java.util.Date;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Service;
@Service
public class ScheduledTaskService {
   private static final SimpleDateFormat dateFormat = new SimpleDateFormat("HH:mm:ss");
   @Scheduled(fixedRate = 5000) //该方法是计划任务,使用fixedRate属性每隔固定时间执行。
   public void reportCurrentTime() {
      System.out.println("每隔五秒执行一次 " + dateFormat.format(new Date()));
    }
   @Scheduled(cron = "0 28 11 ? * *" ) //每天11点28分执行
   public void fixTimeExecution(){
     System.out.println("在指定时间 " + dateFormat.format(new Date())+"执行");
   }
}

3 主类

package com.wisely.highlight_spring4.ch3.taskscheduler;
import org.springframework.context.annotation.AnnotationConfigApplicationContext;
public class Main {
   public static void main(String[] args) {
      AnnotationConfigApplicationContext context =
           new AnnotationConfigApplicationContext(TaskSchedulerConfig.class);
   }
}

三 运行结果

每隔五秒执行一次 19:58:50

每隔五秒执行一次 19:58:55

每隔五秒执行一次 19:59:00

每隔五秒执行一次 19:59:05

每隔五秒执行一次 19:59:10

每隔五秒执行一次 19:59:15

每隔五秒执行一次 19:59:20

每隔五秒执行一次 19:59:25

每隔五秒执行一次 19:59:30

每隔五秒执行一次 19:59:35

每隔五秒执行一次 19:59:40

每隔五秒执行一次 19:59:45

每隔五秒执行一次 19:59:50

每隔五秒执行一次 19:59:55

每隔五秒执行一次 20:00:00

每隔五秒执行一次 20:00:05

更多关于java相关内容感兴趣的读者可查看本站专题:《Spring框架入门与进阶教程》、《Java数据结构与算法教程》、《Java操作DOM节点技巧总结》、《Java文件与目录操作技巧汇总》和《Java缓存操作技巧汇总

希望本文所述对大家java程序设计有所帮助。

相关文章

  • 彻底理解Java中this 关键字

    彻底理解Java中this 关键字

    这篇文章主要介绍了彻底理解Java中this 关键字的相关资料,非常不错,具有参考价值,需要的朋友可以参考下
    2016-05-05
  • SpringBoot注册Filter的两种实现方式

    SpringBoot注册Filter的两种实现方式

    这篇文章主要介绍了SpringBoot注册Filter的两种实现方式,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-08-08
  • 详解如何在springcloud分布式系统中实现分布式锁

    详解如何在springcloud分布式系统中实现分布式锁

    最近在看分布式锁的资料,本文就介绍一下利用springcloud结合redis实现分布式锁,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-11-11
  • Java 实战项目之精美物流管理系统的实现流程

    Java 实战项目之精美物流管理系统的实现流程

    读万卷书不如行万里路,只学书上的理论是远远不够的,只有在实战中才能获得能力的提升,本篇文章手把手带你用java+SpringBoot+Vue+maven+Mysql实现一个精美的物流管理系统,大家可以在过程中查缺补漏,提升水平
    2021-11-11
  • 手把手教你设置IntelliJ IDEA 的彩色代码主题的图文教程

    手把手教你设置IntelliJ IDEA 的彩色代码主题的图文教程

    本文给出一系列 IntelliJ IDEA 代码的彩色主题,感兴趣的朋友一起看看吧
    2018-01-01
  • Spring超详细讲解事务和事务传播机制

    Spring超详细讲解事务和事务传播机制

    Spring事务的本质就是对数据库事务的支持,没有数据库事务,Spring是无法提供事务功能的。Spring只提供统一的事务管理接口,具体实现都是由数据库自己实现的,Spring会在事务开始时,根据当前设置的隔离级别,调整数据库的隔离级别,由此保持一致
    2022-06-06
  • java根据List内对象的属性排序方法

    java根据List内对象的属性排序方法

    下面小编就为大家分享一篇java根据List内对象的属性排序方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-01-01
  • Java的Semaphore信号量使用及原理解析

    Java的Semaphore信号量使用及原理解析

    这篇文章主要介绍了Java的Semaphore信号量使用及原理解析,Semaphore 通常我们叫它信号量, 可以用来控制同时访问特定资源的线程数量,通过协调各个线程,以保证合理的使用资源,需要的朋友可以参考下
    2023-12-12
  • 使用springboot结合vue实现sso单点登录

    使用springboot结合vue实现sso单点登录

    这篇文章主要为大家详细介绍了如何使用springboot+vue实现sso单点登录,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-06-06
  • MybatisPlus中@TableField注解的使用详解

    MybatisPlus中@TableField注解的使用详解

    这篇文章主要介绍了MybatisPlus中@TableField注解的使用详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-09-09

最新评论