SpringBoot 定时任务
示例
# ScheduledTaskService.java
package com.ln.myboot3.schedule; import org.springframework.scheduling.annotation.Scheduled; import org.springframework.stereotype.Service; import java.text.SimpleDateFormat; import java.util.Date; @Service public class ScheduledTaskService { private static final SimpleDateFormat dateFormat = new SimpleDateFormat("HH:mm:ss"); private ScheduledTaskService() { System.out.println("ScheduledTaskService Construct......."); } @Scheduled(fixedRate = 5000) //通过@Scheduled声明该方法是计划任务,使用fixedRate属性每隔固定时间执行 public void reportCurrentTime() { System.out.println("每隔5秒执行一次 " + dateFormat.format(new Date())); } @Scheduled(cron = "0 07 20 ? * *") //使用cron属性可按照指定时间执行,本例指的是每天20点07分执行 //cron是UNIX和类UNIX(Linux)系统下的定时任务 public void fixTimeExecution() { System.out.println("在指定时间 " + dateFormat.format(new Date()) + " 执行"); } @Scheduled(cron = "0/10 * * * * ?") public void init() { this.prepare(); } public void prepare() { System.out.println("=== 每10s执行一次,now time:" + dateFormat.format(new Date())); } }
#配置 TaskScheduleConfig
package com.ln.myboot3.schedule; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.ComponentScan; import org.springframework.context.annotation.Configuration; import org.springframework.scheduling.TaskScheduler; import org.springframework.scheduling.annotation.EnableScheduling; import org.springframework.scheduling.concurrent.ConcurrentTaskScheduler; @Configuration @ComponentScan() @EnableScheduling public class TaskScheduleConfig { @Bean public TaskScheduler taskScheduler() { return new ConcurrentTaskScheduler(); } }
# 启动 Myboot3Application
package com.ln.myboot3; import com.ln.myboot3.schedule.TaskScheduleConfig; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.context.annotation.AnnotationConfigApplicationContext; @SpringBootApplication public class Myboot3Application { public static void main(String[] args) { AnnotationConfigApplicationContext context = new AnnotationConfigApplicationContext(TaskScheduleConfig.class); } }
cron含义
[秒] [分] [时] [日] [月] [周] [年]
线上工具: https://cron.qqe2.com/
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix