SpringTask Spring Task 是 Spring Framework 的一部分,用于提供轻量级的任务执行和调度框架。它不需要单独的依赖 ,因为它包含在 Spring 的核心库 中。如果你使用的是 Spring Boot,那么 Spring Boot 的起步依赖会自动为你管理 Spring Framework 的版本和相应的依赖。
一、基本使用 1.1 准备工作 在启动项加入 @EnableScheduling 注解
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 package com.sky;import ...@SpringBootApplication @...@EnableScheduling public class SkyApplication { public static void main (String[] args) { SpringApplication.run(SkyApplication.class, args); log.info("server started" ); } static { System.setProperty("druid.mysql.usePingMethod" ,"false" ); } }
1.2 使用SpringTask实现定时任务 在需要实现的业务中添加 @Scheduled 注解 在cron属性中 填入cron表达式
案例中的cron表示式为每三秒执行一次日志输出
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 package com.sky.job;import lombok.extern.slf4j.Slf4j;import org.springframework.scheduling.annotation.Scheduled;import org.springframework.stereotype.Component;import java.time.LocalDateTime;@Component @Slf4j public class JobDemo { @Scheduled(cron = "0/3 * * * * ?") public void job () { log.warn("当前时间:{}" , LocalDateTime.now()); } }