文章目录
Scheduled定时任务器
简介
scheduled是spring3.0以后自带的一个定时任务器。
通过@Scheduled(cron=”“)设置定时任务
代码示例
引入scheduled的坐标
<!--scheduled的坐标-->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context-support</artifactId>
<version>4.0.2.RELEASE</version>
</dependency>
编写定时任务类
package com.task.scheduled;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;
import java.util.Date;
@Component
public class ScheduledDemo {
/**
* 创建定时任务
* @Sceduled:设置定时任务
* cron:cron表达式,定时任务触发事件的字符串表达式
* cron表达式---------------------------------------------
*
* 1、*(星号):可用在所有字段中,表示对应时间域内的每一个时刻。
* 2、?(问号):只在日期和星期中使用,一个无意义的值,舍弃掉该字段。
* 3、—(减号):表示一个范围。如在小时字段使用1-2,就表示1到2点
* 4、,(逗号):表达一个列表值,每个值用逗号分隔。星号/y等同于0/y。
* 5、/(斜杠):x/y表示一个等步长序列。x为起始值,y为增量步长值。如在秒字段使用5/15,代表5秒,20秒,35秒,50秒。
* 6、L:只在日期和星期字段中使用,代表Last。用在日期中表示这个月的最后一天。用在星期中,表示星期六,如果L前面有一个数值,例如6L,就表示该月的最后一个星期五。
* 7、W:只能出现在日期字段里,表示离该日期最近的工作日。例如15W表示离15号最近的工作日,如果15号是星期日,则匹配16号。如果15号是就是工作日,就匹配15号。不能跨月份匹配,只能匹配同一个月的日期。
* 8、LW:在日期字段使用,表示该月的最后一个工作日。
* 9、#(井号):只在星期字段中使用,表示当月某个工作日。如4#3表示当月第三个星期三。
* 10、C:只在日期和星期中使用,代表Calendar。他的意思是计划所关联的日期,如果日期没有被关联,则相当于日历中所有日期。5C在日期字段相当于日历5号以后的第一天,在星期字段中代表星期四后的第一天。
*
*/
//每两秒执行一次
@Scheduled(cron = "0/2 * * * * ?")
public void scheduledTask(){
System.out.println("执行定时任务"+new Date());
}
}
在主启动类中开启定时任务功能
package com.task.scheduled;
import org.springframework.boot