Timed task: automatically execute the program at a fixed time (cron writes six digits, seven digits will report an error)
1. Add annotations to the startup class
@EnableScheduling//自动执行任务的注解
2. Create a scheduled task class
Use expressions in this class to set when to execute ( cron expression )
@Component
public class ScheduledTask {
@Autowired
private StatisticsDailyService statisticsDailyService;
/**
* 测试
* 每天七点到二十三点每五秒执行一次
*/
// @Scheduled(cron = "0/5 * * * * ?")
// public void task1() {
// System.out.println("*********++++++++++++*****执行了");
// }
/**
* 每天凌晨1点执行定时
*/
@Scheduled(cron = "0 0 1 * * ?")
public void task2() {
//获取上一天的日期
String day = DateUtil.formatDate(DateUtil.addDays(new Date(),-1));
statisticsDailyService.registerCount(day);
}
}
3. cron expression generation
https://cron.qqe2.com/