第一步
启动类里面 @EnableScheduling开启定时任务,自动扫描
第二步
编写定时任务类 , 例如
@Component public class MySchedule { @Scheduled(fixedRate = 5000) public void test1(){ System.out.println("===每5秒执行==="+new Date().toLocaleString()); } @Scheduled(cron = "0 */1 * * * *") public void test2(){ System.out.println("===每分钟执行==="+new Date().toLocaleString()); } }
1、注解 @Component 被容器扫描
2、@Scheduled(、、) 定时执行规则
SpringBoot常用定时任务表达式配置
1、cron 定时任务表达式 @Scheduled(cron="*/1 * * * * *") 表示每秒
1)crontab 工具 https://tool.lu/crontab/
2、fixedRate: 定时多久执行一次(上一次开始执行时间点后xx秒再次执行;)
3、fixedDelay: 上一次执行结束时间点后xx秒再次执行
4、fixedDelayString: 字符串形式,可以通过配置文件指定
启动项目,控制台输出打印定时任务信息
如果不确定自己的 cron 表达式是否正确 ,去这个网站 https://tool.lu/crontab/