实现方式1:最简单
1.启动类上加注解 @EnableScheduling
@EnableAsync //异步支持类 @EnableScheduling //定时任务调用类 @SpringBootApplication(exclude= {DataSourceAutoConfiguration.class}) public class SmallProgramApplication { public static void main(String[] args) { SpringApplication.run(SmallProgramApplication.class, args); } }
2.调用任务实现类
package com.aty.basissmallprogram.config; import cn.hutool.core.date.DatePattern; import cn.hutool.core.date.DateUtil; import org.springframework.scheduling.annotation.Scheduled; import org.springframework.stereotype.Component; import java.util.Date; /** * @author wy * @date 2022-03-18 */ @Component public class FixedPrintTask { private int i; @Scheduled(cron = "*/15 * * * * ?") public void execute() { System.out.println("第"+i+"次使用定时任务调度器"+DateUtil.format(new Date(), DatePattern.NORM_DATETIME_FORMAT)); i = i + 1; } }
3.优缺点
优点:配置最简单,代码量小
缺点:定时任务改动时,需要重启项目,不灵活,未解决此bug,特推荐方式2
实现方式2:需要借助数据库--->复用性好
1.建表
2.配置类
3.自定义了一个接口ScheduledOfTask