1:SpringBoot下的定时任务 基于注解的
注解很简单
@Scheduled();
import org.springframework.context.annotation.Configuration;
import org.springframework.scheduling.annotation.EnableScheduling;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;
import java.time.LocalDateTime;
@Component
@Configuration //1.主要用于标记配置类,兼备Component的效果。
@EnableScheduling // 2.开启定时任务
public class SynTask {
//3.添加定时任务
@Scheduled(cron = "0/5 * * * * ?")
private void configureTasks() {
System.err.println("我是定时任务,5秒执行一次");
}
}
cron的详情
顺序
秒 : (, - * /)
分钟 : (, - * /)
小时 : (, - * /)
日期 : (, - * / ? L W C)
月份 😦, - * /)
星期 😦, - * / L # C)
年(可选) :(1970-2099 , - * /)
字段
*:代表所有可能的值
-:指定范围
,:列出枚举 例如在分钟里,"5,15"表示5分钟和20分钟触发
/:指定增量 例如在分钟里,"3/15"表示从3分钟开始,没隔15分钟执行一次
?:表示没有具体的值,使用?要注意冲突
L:表示last,例如星期中表示7或SAT,月份中表示最后一天31或30,6L表示这个月倒数第6天,FRIL表示这个月的最后一个星期五
W:只能用在月份中,表示最接近指定天的工作日
#:只能用在星期中,表示这个月的第几个周几,例如6#3表示这个月的第3个周五