定时任务有三种实现
1 jdk自带的定时任务
2 Quartz插件实现的定时任务,需要引入额外的包
3 SpringTask定时调度,是对jdk的再一次封装,不用引入其他包了,用spring的包就自带
SpringTask有3种实现定时任务的方式
1 注解实现(静态定时任务)
通过3个注解
@Scheduled:配置在具体的定时任务方法上,并配置时间表达式
@EnableScheduling:配置在启动类上,就是SpringBootApplication类上
@Component:配置在具体的定时任务类上,将该类注册为一个组件
实现:
1.1 在SpringBootApplication的启动类上加注解@EnableScheduling
1.2 创建一个定时任务类
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;
import java.util.Date;
//将该定时任务类注册为一个组件
@Component
public class MyTask {
//cron = "0/5 * * * * ? "是时间表达式
//@Scheduled5秒执行一次taskTest方法
@Scheduled(cron = "0/5 * * * * ? ")
public void taskTest(){
System.out.println(new Date());
}
}
执行结果