1.在主类上添加
@EnableScheduling 注解
java
@EnableScheduling
@ComponentScan("com.atguigu")
@SpringBootApplication
@MapperScan("com.atguigu.staservice.mapper")
public class StaApplication {
public static void main(String[] args) {
SpringApplication.run(StaApplication.class, args);
}
}
2.创建任务模块,即可完成定时任务
java
@Component
public class ScheduleTask {
@Autowired
StatisticsDailyService statisticsDailyService;
/**
* 定时任务,每天凌晨12点更新前1天 的统计信息 (包括注册人数、登录人数等)
*/
@Scheduled(cron = "0 0 0 * * ?")
public void task2() {
statisticsDailyService.registerCount(DateUtil.formatDate(DateUtil.addDays(new Date(), -1)));
}
}
和整合quartz的区别是 1.不能持久化(不能存到数据库中) 2.不能满足 需要高度定制和复杂调度的场景,比如需要定时任务1执行完, 立即执行定时任务2。