首先,现在启动类加上注解@EnableScheduling
创建任务
//使用这个注解是为了系统能扫描到这个类
@Component
public class TestTask {
private static final SimpleDateFormat sdf = new SimpleDateFormat("HH:mm:ss");
@Scheduled(fixedRate = 3000)
public void reportCurrentTime() {
System.out.println("当前时间:"+sdf.format(new Date()));
}
}
定时任务表达式的引用于
上述例子还是很局限的,所以我们一般使用cron表示。具体cron表达式生成工具地址如下:
http://cron.qqe2.com/
记住springboot的是不支持年的,所以如果下图红圈处一定是空白的
当我们选择第一个的时候
表示每秒或每分钟每小时执行一次
当我们选择第二个时候表示在如选择秒:
上图表示每分钟的第1秒的第20秒内个执行一次,不在这个区间则不执行,我们可以从它自己给的结果看出
第三个选择表示从第几秒开始,每秒执行多少次
上图表示每分钟的10秒开始,每一秒执行一次
第四个选择表示指定时间,在这个时间处执行一次
上图表示每分钟的第十秒执行一次