Spring Schedule
1. 定义:作业调度,如定时任务
2.cron表达式入门
格式:秒 分 时 日 月 周 年(可选)
- 1.Seconds
- 2.Miutes
- 3.Hours
- 4.Day-of-Month
- 5.Month
- 6.Day-of-Week
- 7.year(可选字段)
字段名 | 允许的值 | 允许的特殊字符 |
---|---|---|
秒 | 0-59 | , - * / |
分 | 0-59 | , - * / |
小时 | 0-23 | , - * / |
月内日期 | 1-32 | , - * ? / L W C |
月 | 1-12 或 JAN-DEC | , - * / |
周内日期 | 1-7 或 SUN-SAT | , - * ? / L C # |
年 | 留空,1980-2099 | , - * / |
特殊字符 | 意义 |
* | 匹配所有的值,*在分钟的字段域中表示 每分钟 |
? | 只在日期和星期中使用,指定”非明确值” |
- | 指定一个范围,如”10-12”在小时意味着 10点、 11点、12点 |
, | 指定几个可选值,如“MON,WEBD”表示星期一,星期二 |
/ | 指定增量,如: ” 0 / 15 ”在秒域意思是每分钟的 0 , 15 , 30 和 45 秒, ” 5 / 15 ”在分钟域表示侮小时的 5 , 20 , 35 和 50 ,符号“ * ”在“ / ” 前面(如: * / 10 )等价于 0 在“ / ”前面(如: 0 / 10 ) |
L | 表示 day-of-month 和 day-of-week 域,但在两个字段中的意思不同, 例如 day-of-month 域中表示一个月的最后一天。 如果在 day-of-eek 域表示‘7’或者 ‘SAT’ , 如果在 day-of-week 域中前面加卜数字,它表示一个月的最后几天, 例如‘ 6L ’就表示一个月的最后一个星期五 |
3.代码实现
- spring 配置文件
<beans
xmlns:task="http://www.springframework.org/schema/task"
xsi:schemaLocation="
http://www.springframework.org/schema/task
http://www.springframework.org/schema/task/spring-task.xsd ">
<task:annotation-driven/>
- Java 代码
@Component
@Slf4j
public class SheduleExmpla {
@Scheduled(cron = "0/1 * * * * ?")
public void Shedule1(){
log.info(String.valueOf(LocalDateTime.now()));
}
}