1.简介
他是spring框架给我们提供的一个任务调度工具,可以按照约定的时间自动执行某个代码逻辑.(定时自动执行某段代码)
(它很小,小到连自己的jar包都没有,相关的api都集成在了spring-context这个包里)
2.cron表达式
-
还有很多的特殊字符来标识特殊含义,一般来说这个cron表达式都是直接去网上用在线生成器来生成的.
3.使用步骤
1.导入maven坐标spring-context(一般来说都已经通过依赖传递已经传递进来了)
2.启动类添加 @EnableScheduling 开启任务调度
@Slf4j
@SpringBootApplication
@EnableScheduling//开启任务调度
public class SkyApplication {
public static void main(String[] args) {
SpringApplication.run(SkyApplication.class, args);
log.info("server started");
}
}
3.自定义定时任务类
一般来说定时任务类都是放在单独一个包里,类上要加@Component来实例化自动生成bean,然后交给spring管理
里面的方法没有返回值,方法名随意
入门案例:
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;
@Component
public class MyTask {
/**
* 每5秒执行一次
*/
@Scheduled(cron = "0/5 * * * * ?")
public void task(){
System.out.println("task");
}
}
效果就是控制台每隔5s输出一次