SpringBoot整合定时任务
1.首先需要在启动类加上注解
@EnableScheduling
public class StaApplication {
public static void main(String[] args) {
SpringApplication.run(StaApplication.class, args);
}
}
2.创建定时任务类
在这个类里面使用表达式来设置什么时候去执行
1.cron表达式,设置执行规则(也称为七子表达式或者七域表达式)
2.在线生成cron表达式
在线Cron表达式生成器
3.编写代码
package com.xingchen.statistic.schedule;
import com.xingchen.statistic.service.StatisticsDailyService;
import com.xingchen.utils.DateUtil;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;
import java.util.Date;
@Component
public class ScheduleTask {
@Autowired
private StatisticsDailyService statisticsDailyService;
//在每天的凌晨一点,把前一天的数据进行添加
@Scheduled(cron = "0 0 1 * * ?")
public void task1() {
//DateUtil工具类生成前一天时间
String day = DateUtil.formatDate(DateUtil.addDays(new Date(), -1));
statisticsDailyService.countRegister(day);
}
//每隔5秒执行一次
// @Scheduled(cron = "0/5 * * * * ?")
// public void task1() {
// long l = System.currentTimeMillis();
// System.out.println("*********++++++++++++*****执行了"+l);
// }
}
还没有评论,来说两句吧...