springboot整合定时任务(java)

1.首先需要在启动类加上注解

@EnableScheduling
public class StaApplication {
    public static void main(String[] args) {
        SpringApplication.run(StaApplication.class, args);
    }
}

2.创建定时任务类

在这个类里面使用表达式来设置什么时候去执行

1.cron表达式,设置执行规则(也称为七子表达式或者七域表达式)

2.在线生成cron表达式

在线Cron表达式生成器

springboot整合定时任务(java)_第1张图片

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);
//    }


}

 

你可能感兴趣的:(项目技术整合,java,spring,boot,开发语言)