大渣好,我是小小书生,时隔数月,CSDN推出了文章编辑器的船新版本,所以来试试,嘿。。。嘿嘿嘿
今天给大家带来SpringBoot定时任务(好大呀Σ(⊙▽⊙"a)
文章懒得去编辑了,我把我知道全部写出来。
一、定时任务
启用定时任务需要在SpringBoot启动类上加上
@EnableScheduling
这个注解的作用是发现
@Scheduled
注解的任务后并后台执行
1、@Scheduled详解
它里面有如下几个属性可以配置:
①initialDelay:第一次执行定时任务的延迟时间,不配置的话默认就是系统已启动就开始执行。
②fixedRate : 这个是指每多久执行一次,单位是毫秒,5s的话就写5000,无论业务执行花费时间,都是 一分钟一次
③fixDelay: 这个是在定时任务执行完之后开始计时,再执行下一次
④cron:这个是cron表达式,这个简单介绍一下吧
cron表达式总共有7位,但是由于最后一位是年,可以留空,所以写6位就好了
第一位:表示秒,取值0-59
第二位:分,0-59
第三位:小时,0-23
第四位:日期,1-31
第五位:月份,1-12
第六位:星期几:1-7 1表示星期天
第七位:年,可以留空,取值1970-2099
cron表达式的符号:
*:可以理解为每的意思,每天,每分,每秒
?:只能出现在日期和亲戚两个位置,表示这个位置的值不确定,每天3点自信,所以第六位星期的位置,是不需要关注的,就是不确定的值,同时,日期和星期是两个相互排斥的元素,通过问好来表名不确定的值,比如,1月10号,星期1,但是星期位置如果指定是星期二,就冲突矛盾了。。。。
-:减号,表达一个范围,如在小时字段中使用“10-12”,就表示从10-12点,即10,11,12
,:逗号,表达一个列表值,(1,2,3)在小时位置时表示,在1点,2点,3点
/:斜杠,如x/y,x是开始的值,y是步长,比如在秒的位置,0/15就表示从0秒开始,每15秒执行一次,另外,*/y,等同于0/y
#:井号,只可在星期处使用,如1#3,表示第三个星期天,0 10 3 ? * 1#3 表示每个月的第三个星期天的3点10分执行。
在这里推荐一个网站,在线生成cron表达式,感谢万能的程序员!!!!!!!