Spring Task定时任务
Spring Task定时任务
violet以下是一个使用 Spring Task 实现定时任务的示例代码:
import org.springframework.scheduling.annotation.EnableScheduling; |
在 Spring Boot 项目中使用 Spring Task 的步骤:
添加依赖(如果是 Spring Boot 项目,通常已包含在 spring-boot-starter 中):
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter</artifactId>
</dependency>在主应用类上添加
@EnableScheduling注解启用定时任务支持:import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.scheduling.annotation.EnableScheduling;
public class Application {
public static void main(String[] args) {
SpringApplication.run(Application.class, args);
}
}创建定时任务类,使用
@Scheduled注解定义定时任务方法。
@Scheduled 注解的常用参数:
fixedRate:固定速率执行,单位为毫秒fixedDelay:固定延迟执行,上一次执行完成后延迟指定时间再执行initialDelay:初始延迟,第一次执行前的延迟时间cron:使用 Cron 表达式定义执行时间规则
Cron 表达式示例:
0 0 12 * * ?:每天中午12点触发0 15 10 ? * *:每天上午10:15触发0 0/5 * * * ?:每5分钟触发一次0 0 0 * * ?:每天凌晨0点触发
注意事项:
- 确保 Spring 组件扫描能够找到你的定时任务类
- 默认情况下,所有定时任务都在同一个线程中执行,如果需要异步执行,可以结合
@Async注解使用 - 生产环境中建议配置合适的线程池来执行定时任务
评论



