您的位置:宽带测速网 > 编程知识 > SpringBoot定时任务是怎么实现的

SpringBoot定时任务是怎么实现的

2025-06-23 19:42来源:互联网 [ ]

SpringBoot中实现定时任务的方式有两种:

    使用注解:在定时任务的方法上添加@Scheduled注解,指定定时任务的触发规则,如固定间隔时间、固定延迟时间或cron表达式。示例代码如下:
import org.springframework.scheduling.annotation.Scheduled;import org.springframework.stereotype.Component;@Componentpublic class MyScheduledTask {@Scheduled(fixedRate = 5000) // 每隔5秒执行一次public void task() {// 定时任务执行的代码}}
    实现SchedulingConfigurer接口:通过实现SchedulingConfigurer接口来动态地配置定时任务的触发规则。示例代码如下:
import org.springframework.context.annotation.Configuration;import org.springframework.scheduling.annotation.SchedulingConfigurer;import org.springframework.scheduling.config.ScheduledTaskRegistrar;import org.springframework.stereotype.Component;@Configurationpublic class MyScheduledTask implements SchedulingConfigurer {@Overridepublic void configureTasks(ScheduledTaskRegistrar taskRegistrar) {taskRegistrar.addFixedRateTask(() -> {// 定时任务执行的代码}, 5000); // 每隔5秒执行一次}}

无论采用哪种方式,都需要在启动类上添加@EnableScheduling注解来启用定时任务的支持。SpringBoot内置了定时任务执行器,会自动调度定时任务的执行。