Springboot的定时器使用相对来说非常简单,只需要添加几个注解既可以实现定时器功能。
新建一个Springboot项目,在Application中添加@EnableScheduling
新建一个定时器任务类,添加@Component注解,该类中的方法添加@Scheduled注解并设定好执行时间,即可。
启动项目执行结果如下图:
这是常用的三种时间表达式的形式,第一种比较复杂,但是灵活度高,在项目中使用的频率也高。第二三中都是时间间隔,单位是毫秒。
下面来解释一下第一种时间格式的写法。总共七位,分别表示秒(0-59),分(0-59),时(0-23),日期天/日(1-31),月份)(1-12),星期(1-7,1表示星晴天,7表示星期六),年(可以缺省。取值范围是1970-2099)。
除此之外,还有一些特殊符号:
1) * *号,表示每,如果用*号占位,则表示每秒每分每时每天每月每年···这些 例如 0 30 8 * * ? 每天8:30执行
2) ? ?问号,只能出现在日期和星期这两个位置,表示这个位置的值不确定,例如上个例子每天8:30点执行,所以第六位星期的位置,我们是不需要关注的,就是不确定的值。如果给定一个确定的值,那么日期和星期就可能会出现矛盾。
3) - -减号,表示范围 例如12-15 可以表示12,13,14,15点执行
4), ,逗号,表示一个列表值,例如星期取值在1,3,5 就是在星期一三五执行
5) / /斜杠,例如0/1 开始值为0 步长为1 0/1 每分钟执行一次