Springboot实现定时任务

一、定时任务是什么?

定时执行任务,只有电脑不关机就可以在特定的时间去执行相应的代码,例如抢购脚本等

二、使用步骤

1.无需引入springboot自带

package com.ltx.blog_ltx;import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.scheduling.annotation.EnableScheduling;@EnableScheduling //开启定时功能的注解
@SpringBootApplication
public class BlogLtxApplication {public static void main(String[] args) {SpringApplication.run(BlogLtxApplication.class, args);}
}

2.创建配置service类

在配置类上加入:@Service注解

每写一个任务都有加一个    @Scheduled(cron = "") 注解 

package com.example.spingbootswagger.service;import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Service;
//TaskScheduler 任务调度程序@Service
public class tasksService {// 秒 分 时 天 月 周几~// 0 * * * * 0-7  每个月的每天每时每分每秒周一到周七都会执行/*** 30 15 10 * * ? 每天10点15分30 执行** 30 0/5 10,18 * * ? 每天10时18时每个五分钟执行* 0 15 10 ? * 1-6 每个月的周一到周六10.15分钟执行一次*/@Scheduled(cron = "0/1 * * * * 0-7")public void hello3(){System.out.println("每秒打印");}@Scheduled(cron = "0/2 * * * * 0-7")public void hello(){System.out.println("每隔两秒打印");}@Scheduled(cron = "0/3 * * * * 0-7")public void hello1(){System.out.println("每个三秒打印");}
}

3.Cron表达式介绍

Cron表达式是一个具有时间含义的字符串,字符串以5~6个空格隔开,分为6~7个域,格式为X X X X X X X。其中X是一个域的占位符。最后一个代表年份的域非必须,可省略。单个域有多个取值时,使用半角逗号,隔开取值。每个域可以是确定的取值,也可以是具有逻辑意义的特殊字符。每个域最多支持一个前导零。

域取值

    下表为Cron表达式中六、七个域能够取的值以及支持的特殊字符。

 取值示例

     以下为Cron表达式的取值示例。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/294234.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

java智慧工地 人脸识别终端,智慧工地解决方案源码

智慧工地即施工现场全面数字化过程,使用IOT、云、移动、大数据、AI等关键技术,进行生产要素、管理过程、建筑物实体的数据采集、数据治理,最终通过大数据和人工智能帮助项目实现精益管理。 智慧工地围绕工程现场人、机、料、法、环及施工过程中质量、安全…

并发控制工具类CountDownLatch、CyclicBarrier、Semaphore

并发控制工具类CountDownLatch、CyclicBarrier、Semaphore 1.CountDownLatch 可以使一个或多个线程等待其他线程各自执行完毕后再执行。 CountDownLatch 是多线程控制的一种工具,它被称为 门阀、 计数器或者闭锁。这个工具经常用来用来协调多个线程之间的同步&…

华为gre隧道全部跑静态路由

最终实现: 1、pc1能用nat上网ping能pc3 2、pc1能通过gre访问pc2 3、全部用静态路由做,没有用ospf,如果要用ospf,那么两边除了路由器上跑ospf,核心交换机也得用ospf r2配置: acl number 3000 rule 5 deny…

NVIDIA NCCL 源码学习(十二)- double binary tree

上节我们以ring allreduce为例看到了集合通信的过程,但是随着训练任务中使用的gpu个数的扩展,ring allreduce的延迟会线性增长,为了解决这个问题,NCCL引入了tree算法,即double binary tree。 double binary tree 朴素…

Qt下普通成员函数和静态成员函数作为回调函数的实现(替代信号与槽)

文章目录 前言一、使用信号与槽二、什么是回调函数三、使用普通成员函数作为回调函数四、使用静态成员函数作为回调函数五、示例完整代码总结 前言 在Qt中,使用信号与槽来实现不同对象之间的通信是非常方便的,这也是Qt框架中引以为傲的一项机制&#xf…

NVMe介绍

NVMe介绍 1 概述2 操作原理2.1 Queue基本原理2.2 Admin与I/O Queue2.3 Submission与Completion Queue2.4 Submission与Completion Queue对应关系 3 多路径I/O和命名空间共享3.1 1Port1Controller3.2 1Port2Controller3.3 2Port2Controller3.4 SR-IOV 本文属于《 NVMe协议基础系…

钓鱼与木马实践(仅供参考不可实践)

声明:内容仅供学习,请勿违法使用,违者后果自负 一.部署云服务器 购买一台云服务器,Windows( 中文 )版本即可 华为云官网:https://www.huaweicloud.com/ 登录后进入控制台购买完成后远程登录云服务器 二.部署WEB运行…

Linux内核编码规范

学习linux内核或者linux驱动的人应该先掌握内核编码规范,这样才能更好的驾驭linux内核、驱动。 下面就从这几个方面讲解一下linux内核编码规范。 注释风格、排版风格、头文件风格、变量定义、宏定义、函数 1 注释风格 1.1 注释的原则是有助于对程序的阅读和理解&…

一文了解提示工程(Prompt Engineering)

引言 在机器学习的世界里,有一句众所周知的话,“机器学习模型的好坏取决于您为其提供的训练数据。” 它指出了数据质量在您从这些算法中获得的结果中发挥的关键作用。 在使用生成式 AI 模型时,这一想法也很重要 - 无论它们生成文本、代码还…

第一次记录QPSK,BSPK,MPSK,QAM—MATLAB实现

最近有偶然的机会学习了一次QPSK防止以后忘记又得找资料,这里就详细的记录一下 基于 QPSK 的通信系统如图 1 所示,QPSK 调制是目前最常用的一种卫星数字和数 字集群信号调制方式,它具有较高的频谱利用率、较强的抗干扰性、在电路上实现也较为…

dotnet命令创建C#项目,VSCode打开

在命令行中创建项目并运行 1.首先安装.net 下载地址:.NET | 构建。测试。部署。 2.在 cmd 控制台输入 dotnet --vesion 检查版本号是否正常 3.我用git bash环境输入命令创建项目 // 创建文件夹 mkdir MyVSCode // 进入该文件夹 cd MyVSCode/ // 创建控制台项目 dotnet …

华为Harmony——ArkTs语言

文章目录 一、简单示例二、声明式UI描述创建组件无参有参数 配置属性配置事件配置子组件 三、自定义组件基本用法基本结构成员函数/变量 一、简单示例 我们以一个具体的示例来说明ArkTS的基本组成。如下图所示,当开发者点击按钮时,文本内容从“Hello Wo…