@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.效果