Springboot基础学习之(二十三):实现定时任务

news/2025/3/15 5:58:18/

 定时任务:在开发过程中是经常能够使用到的:定时发布邮件等等

先了解一下什么时cron表达式?

它是定义执行任务时间的一种时间表达式,使用方法

@Scheduled(cron = "0/2 * * * * ? "),这里代码的含义是每两秒执行以下此方法

总共有六个数据,它对应的则是cron表达式:秒 分 时 日 月 周还有一个数据可写可不写就是年

cron表达式并非一定要了解,每个数据可以通过生成器得到自己需要的数据

cron表达式生成器这个网站可以帮助我们获取定时任务的时间信息

创建一个ScheduledService类:定时执行此类下面的方法

代码:

package com.example.demo.service;import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Service;@Service     //交给spring容器进行管理
public class ScheduledService {//实现的功能是每两秒执行方法:定时执行任务//cron表达式:秒 分 时 日 月 周@Scheduled(cron = "0/2 * * * * ? ")public void Show(){System.out.println("输出");}
}

注解:@Scheduled:设计执行任务的时间配置信息

        注意:这里的时间单位都是毫秒

  1. @Scheduled(fixedDelay = 1000)
    上一个任务结束到下一个任务开始的时间间隔为固定的1秒,任务的执行总是要先等到上一个任务的执行结束

  2. @Scheduled(fixedRate = 1000)
    每间隔1秒钟就会执行任务(如果任务执行的时间超过1秒,则下一个任务在上一个任务结束之后立即执行)

  3. @Scheduled(fixedDelay = 1000, initialDelay = 2000)
    第一次执行的任务将会延迟2秒钟后才会启动

  4. @Scheduled(cron = “0 15 10 15 * ?”)
    Cron表达式,每个月的15号上午10点15分开始执行任务

  5. 在配置文件中配置任务调度的参数

开启定时任务

package com.example.demo;import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.scheduling.annotation.EnableAsync;
import org.springframework.scheduling.annotation.EnableScheduling;@SpringBootApplication
@EnableScheduling    //开启定时任务功能
public class DemoApplication {public static void main(String[] args) {SpringApplication.run(DemoApplication.class, args);}}

运行项目:

看测试结果每隔两秒显示一个'输出'

 


http://www.ppmy.cn/news/47934.html

相关文章

Linux 内核原理摘录

文章目录 一、Linux 内核设计与实现1、进程管理(1)调度2、内核数据结构(1)kfifo 3、中断 一、Linux 内核设计与实现 本章主要用来摘录《Linux 内核设计与实现》一书中学习知识点,其基于 Linux 2.6.34 。 1、进程管理 …

关于自身存在的严重问题总结_4/19

今早二次面试喜马拉雅,面试官给我的评价是: 1.经验不足; 2.实用方面生疏、理解不到位; 原因很正常,我项目自己亲手实操的太少了,一直在背,但是背 不是去读源码 去理解; 项目也大…

LINUX系统SSH连接安装Matlab、添加环境变量、后台运行Matlab脚本

安装Matlab 使用MobaXterm软件SSH连接远程服务器,输入IP、用户名和端口号: 输入密码进入(密码不显示) 网上找一个Matlab安装包(iso镜像)上传进服务器端,或者直接使用wget指令在服务器端下载镜…

8:00面试,8:05就出来了 ,问的实在是太变态了···

从外包出来,没想到算法死在另一家厂子。 自从加入这家公司,每天都在加班,钱倒是给的不少,所以也就忍了。没想到12月一纸通知,所有人不许加班,薪资直降30%,顿时有吃不起饭的赶脚。 好在有个兄弟…

解决OpenCV与Numpy版本不匹配问题

小背景 周四晚上发现之前写的程序不能用了,不知道是系统中使用了bootstrap的原因还是什么。为了方便,我把系统也放在了和之前做实验的conda环境。一开始不管算法还是系统都可以使用,但就那天晚上说部署一下Django项目,顺便再测一…

【C++】deque的实现原理简单介绍

前言 deque被称为双端队列,它的出现主要是为了结合vector和list的优点并减小它们的缺点,实际上deque确实结合了vector和list的优点减小了它们的缺点,但是它的结合也让它自己的优点没有原始的vector和list那么极致,导致deque变得很…

勒索病毒应急响应指南

勒索病毒应急响应指南 1.勒索病毒的攻击特点2.隔离被感染的服务器/主机3.排查业务系统4.确定勒索病毒种类,进行溯源分析5.恢复数据和业务6.清除加固7.勒索病毒的防御方法个人终端防御技术企业级终端防御技术1.勒索病毒的攻击特点 无 C2 服务器加密: 攻击者在对文件加密的过…

自动控制原理模拟卷4

自动控制原理模拟题四 Question1 仓库大门自动开闭控制系统原理图如下图所示,说明系统自动控制大门开闭的工作原理并画出系统方块图; 解: 当合上开门开关时,电位器桥式测量电路产生一个偏差电信号;此偏差电压经放大器放大后,驱动伺服电动机带动绞盘转动,使大门提起;与…