Bootstrap

SpringBoot开启定时任务——Spring Task

1.在需要进行定时任务的方法上加上注解@Scheduled,并且将类交给Spring容器管理,并给cron属性赋值,cron表示可以从网上找一个在线生成的网站,不用自己编写。

值得注意的是,网站生成的可能会有7位,而在SpringBoot中cron表达式中只能有6位,因为SpringBoot中的定时任务是不支持跨年的。

Cron在线表达式生成器

2.在启动类上添加@EnableScheduling注解开启定时任务功能

@Component
@RequiredArgsConstructor
public class OrderStatisticsTask {

    private final OrderStatisticsMapper orderStatisticsMapper;
    private final OrderInfoMapper orderInfoMapper;
    //每天的凌晨两点,查询前一天的统计数据,把统计之后的数据添加到统计结果表中
    @Scheduled(cron = "0 0 2 * * ?")
    public void orderTotalAmountStatistics() {
        String createTime = DateUtil.offsetDay(new Date(), -1).toString(new SimpleDateFormat("yyyy-MM-dd"));
        OrderStatistics orderStatistics = orderInfoMapper.selectOrderStatistics(createTime);
        if(orderStatistics != null) {
            orderStatisticsMapper.insert(orderStatistics) ;
        }
    }

}

悦读

道可道,非常道;名可名,非常名。 无名,天地之始,有名,万物之母。 故常无欲,以观其妙,常有欲,以观其徼。 此两者,同出而异名,同谓之玄,玄之又玄,众妙之门。

;