1.导入maven依赖
这里只要有org.springframework:spring-context依赖就行
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter</artifactId>
</dependency>
</dependencies>
2.在启动类添加注解@EnableScheduling开启任务调度
@SpringBootApplication
@EnableTransactionManagement //开启注解方式的事务管理
@EnableScheduling
@Slf4j
public class MyApplication {
public static void main(String[] args) {
SpringApplication.run(MyApplication.class, args);
log.info("server started");
}
}
3.自定义定时任务类
这里要介绍一下corn表达式,其实就是一个字符串,通过cron表达式可以定义任务触发的时间
构成规则:分为6或7个域,由空格分隔开,每个域代表一个含义
每个域的含义分别为:秒、分钟、小时、日、月、周、年(可选)
举例:
2022年10月12日上午9点整 对应的cron表达式为:0 0 9 12 10 ? 2022
cron表达式在线生成器:在线Cron表达式生成器(当然正经人谁去记这些,可以通过这个网站直接生成)
@Component
@Slf4j
public class MyTask {
/**
* 定时任务 每隔5秒触发一次
*/
@Scheduled(cron = "0/5 * * * * ?")
public void executeTask() {
log.info("定时任务开始执行:{}", new Date());
}
}