@Scheduled注解实现定时任务

一、创建一个Springboot项目在启动类里加上@EnableScheduling

二、在写的定时任务的类上加上@Component把该类交由springboot管理

三、在需要做定时操作的方法上加上@Scheduled(cron = " ")注解

四、cron表达式(定时任务通过cron表达式控制定时时间)

1、符号示意

'*' : 表示所有可能的值

'/' : 表示数值的增量,简单来说,比如分写上0/5表示从0分开始,每隔5分钟

'?' : 仅用在天(月)和天(周),表示不指定值,当其中一个有值时,另外一个需要设为?

2、字段允许字符

(1)秒:0-59 , - * /

(1)、26:表示第26秒

(2)、5,16,27:表示第5秒、第16秒和第27秒

(3)、1-5:表示从1秒到5秒,就是1 2 3 4 5 秒

(4)、*:表示每一秒

(5)、2/15:表示从第2秒开始,每隔15秒,就是2 17 32 47 秒

(2)、分:0-59 , - * /

(1)、26:表示第26分钟

(2)、5,16,27:表示第5分钟、第16分钟和第27分钟

(3)、1-5:表示从1秒到5分,就是第1 2 3 4 5 分钟

(4)、*:表示每一分钟

(5)、2/15:表示从第2分钟开始,每隔15分钟,就是2 17 32 47 分钟

(3)、时:0-23 , - * /

(1)、10:表示早上10点

(2)、22:表示晚上10点

(3)、2,8,18,23:表示凌晨2点,早上8点,傍晚6点和晚上11点

(4)、9-17:表示朝九晚五,就是9 10 11 12 13 14 15 16 17 点

(5)、*:表示每小时

(6)、10/2:表示从早上10点开始,每隔2小时

(4)、天(月):1-31 , - * / ? L W C

(1)、31:表示31号(注意有的月份是没有31号的)

(2)、5,10,15:表示5号、10号和15号

(3)、8-17:表示8号到17号

(4)、*:表示所有可能的值(当指定为星号时,天(周)需指定为?)

(5)、5/9:表示从5号开始,每隔9天

(6)、?:当天(周)指定任意值的时候,天(月)需要设置为?

(7)、L:表示一个月中的最后一天

(8)、6L:表示倒数第6天

(9)、15W:W指工作日,如果15号不是周六日,则表示15号当天;如果15号是周六,则表示14号;如果15号是周日,则表示16号;如果31W是周日,则31W表示29号(周五),不会跨月

(10)、LW:指最后一个工作日

(11)、15C:表示第15天(不是很明白这个,使用15和15C貌似效果相同?)

(5)、月:1-12 , - * /

(1)、10:表示10月份

(2)、5,10,11:表示5月份、10月份和11月份

(3)、4-8:表示4月份到8月份

(4)、*:表示所有可能的值

(5)、5/2:表示从5月份开始,每隔2个月,(就是5 7 9 11 次年5 次年7 次年9......)

(6)、1-12:也可以用JAN-DEC表示

(6)、天(周):MON-SAT , - * / ? L C

(1)、MON:表示周一

(2)、MON,TUE,FRI:表示周一,周二和周五

(3)、MON-FRI:表示从周一到周五

(4)、MON-WED,SAT:表示从周一到周三,和周六(就是周一、周二、周三和周六)

(5)、mon,tue,wed,thu,fri,sat,sun:表示周一到周日(大小写均可,取星期英文前三个字母,注意星期四是thu,而不是thur)

(6)、7L:表示最后一个周六(效果等同于SATL)(L表示last最后的意思,7表示周六,6表示周五,类推,1表示周日)

(7)、6C:表示周五以及之后包含周五的日期(感觉效果FRI一样,具体还没深究)

(8)、7#2:表示第二个周六(#前面的数字表示星期,1表示周日,2表示周一,以此类推;#后面的数字表示第几个)

(7)、年:留空 2020-2099 , - * /

(1)、2050:表示2050年

(2)、2020,2030,2040:表示2020年、2030年和2040年

(3)、2020-2030:表示2020年到2030年

(4)、*:表示所有可能的值

(5)、2020/10:表示从2020年开始,每隔10年,(就是2020,2030,2040......)

四、启动项目即可

@Scheduled 实现定时任务的更多相关文章

  1. spring的Scheduled(定时任务)和多线程

    一.前言 在我们日常的开发中,经常用到数据同步的更新,这时我们采用的是spring的定时任务和java的多线程进行数据的更新,进行时实的服务调用. 二.实现思路            1.创建线程类 ...

  2. spring注解scheduled实现定时任务

    只想说,spring注解scheduled实现定时任务使用真的非常简单. 一.配置spring.xml文件 1.在beans加入xmlns:task="http://www.springfr ...

  3. 定时任务-----Springboot中使用Scheduled做定时任务----http://www.cnblogs.com/lirenqing/p/6596557.html

    Springboot中使用Scheduled做定时任务---http://www.cnblogs.com/lirenqing/p/6596557.html 已经验证的方案: pom文件加入依赖 < ...

  4. SpringBoot中使用@Scheduled创建定时任务

    SpringBoot中使用@Scheduled创建定时任务 定时任务一般会在很多项目中都会用到,我们往往会间隔性的的去完成某些特定任务来减少服务器和数据库的压力.比较常见的就是金融服务系统推送回调,一 ...

  5. SpringBoot使用@Scheduled创建定时任务

    定时任务一般会存在中大型企业级项目中,为了减少服务器.数据库的压力往往会采用时间段性的去完成某些业务逻辑.比较常见的就是金融服务系统推送回调,一般支付系统订单在没有收到成功的回调返回内容时会持续性的回 ...

  6. 使用Spring的@Scheduled实现定时任务

    Spring配置文件xmlns加入xmlns:task="http://www.springframework.org/schema/task"xsi:schemaLocation ...

  7. Springboot中使用Scheduled做定时任务

    在开发中,定时任务是常见的功能,在spring boot 下开发定时任务其实很简单,具体代码如下: 1.配置依赖包pom.xml 由于默认的maven仓库经常访问不了,这里采用了阿里云的maven仓库 ...

  8. 使用Spring的@Scheduled实现定时任务参数详解

    Spring配置文件xmlns加入 xmlns:task="http://www.springframework.org/schema/task" xsi:schemaLocati ...

  9. SpringBoot之使用Scheduled做定时任务

    定时任务有好多开源框架比如Quartz,@Scheduled是Spring的一个定时任务注解,通过注解配置就能够轻量级的定时任务,简单方便. 一.@Scheduled注解介绍 这里先贴上@Schedu ...

  10. Spring Boot中使用@Scheduled创建定时任务

    我们在编写Spring Boot应用中经常会遇到这样的场景,比如:我需要定时地发送一些短信.邮件之类的操作,也可能会定时地检查和监控一些标志.参数等. 创建定时任务 在Spring Boot中编写定时 ...

随机推荐

  1. 【LeetCode】52. N-Queens II(位运算)

    [题意] 输出N皇后问题的解法个数. [题解] 解法一:传统dfs回溯,模拟Q放置的位置即可,应该不难,虽然能通过,但是时间复杂度很高. 解法二:位运算大法好! 首先要明白这道题里两个核心的位运算 1 ...

  2. Spring框架的介绍

    1.Spring框架的结构 由持久层.表现层.中间模块和测试层组成. 持久层:和数据接触.事务管理 表现层:对数据进行处理 中间模块:核心功能 测试层:用来测试完整度 核心功能介绍 1.1  控制反转 ...

  3. 在Windows下配置Linux远程开发环境

    在Windows下配置Linux远程开发环境 欢迎光临我的个人博客 https://source.chens.life/Configure-Linux-remote-development-envir ...

  4. teprunner测试平台Django引入pytest完整源码

    本文开发内容 pytest登场!本文将在Django中引入pytest,原理是先执行tep startproject命令创建pytest项目文件,然后从数据库中拉取代码写入文件,最后调用pytest命 ...

  5. > 与 < 差在哪?-- Shell十三问<第十一问>

    > 与 < 差在哪?-- Shell十三问<第十一问> 谈到 I/O redirection ,不妨先让我们认识一下 File Descriptor (FD) .程序的运算,在 ...

  6. python基础(四):切片和索引

    Python中的序列有元组.列表和字符串,因此我们都可以通过索引和切片的方式,来获取其中的元素. 索引 Python中的索引,对于正向索引,都是从0开始的.但是对于反向索引,确实从-1开始的.如图所示 ...

  7. Apache Hudi 0.8.0版本重磅发布

    1. 重点特性 1.1 Flink集成 自从Hudi 0.7.0版本支持Flink写入后,Hudi社区又进一步完善了Flink和Hudi的集成.包括重新设计性能更好.扩展性更好.基于Flink状态索引 ...

  8. 02_利用numpy解决线性回归问题

    02_利用numpy解决线性回归问题 目录 一.引言 二.线性回归简单介绍 2.1 线性回归三要素 2.2 损失函数 2.3 梯度下降 三.解决线性回归问题的五个步骤 四.利用Numpy实战解决线性回 ...

  9. Leedcode算法专题训练(搜索)

    BFS 广度优先搜索一层一层地进行遍历,每层遍历都是以上一层遍历的结果作为起点,遍历一个距离能访问到的所有节点.需要注意的是,遍历过的节点不能再次被遍历. 第一层: 0 -> {6,2,1,5} ...

  10. 【算法学习笔记】Meissel-Lehmer 算法 (亚线性时间找出素数个数)

    「Meissel-Lehmer 算法」是一种能在亚线性时间复杂度内求出 \(1\sim n\) 内质数个数的一种算法. 在看素数相关论文时发现了这个算法,论文链接:Here. 算法的细节来自 OI w ...