@Scheduled为设置定时任务的注解。
参数常用的为两种:
- 第一种是fixedRate,表示以一种固定频率去执行,单位为毫秒;例如@Scheduled(fixedRate = 5000) 表示为每五秒执行一次。
- 第二种为cron,按照cron表达式执行;如果不了解cron表达式,可先百度了解。
基于注解设置定时任务
1.创建定时任务处理类TimedTask
package com.lw.coodytask.scheduled; import org.springframework.scheduling.annotation.EnableScheduling; import org.springframework.scheduling.annotation.Scheduled; import org.springframework.stereotype.Component; import java.time.LocalDateTime; /** * @Classname TimedTask * @Description 定时任务 * @Author lw * @Date 2019-12-20 16:43 */ @EnableScheduling @Component public class TimedTask { @Scheduled(fixedRate = 5000) public void task_1(){ System.out.println("定时任务1:" + LocalDateTime.now()); } @Scheduled(cron = "0/5 * * * * ?") public void task_2(){ System.out.println("定时任务2:" + LocalDateTime.now()); } }
2.启动CoodyTaskApplication服务
package com.lw.coodytask; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; @SpringBootApplication public class CoodyTaskApplication { public static void main(String[] args) { SpringApplication.run(CoodyTaskApplication.class, args); } }
3.效果