@Scheduled yongfa
时间: 2023-10-12 11:03:51 浏览: 107
Spring Boot中的@Scheduled注解:定时任务的原理与实现
@Scheduled 是 Spring 框架提供的一个注解,用于在指定的时间间隔或时间点执行定时任务。它可以用于方法上,表示这个方法是一个定时任务,会按照指定的时间间隔或时间点执行。常用的时间间隔或时间点的表示方式为 cron 表达式。具体使用方式如下:
1. 引入依赖:在 pom.xml 文件中引入 spring-context-support 依赖。
```
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context-support</artifactId>
<version>${spring.version}</version>
</dependency>
```
2. 在需要执行定时任务的方法上添加 @Scheduled 注解,指定 cron 表达式或时间间隔。
```
@Scheduled(cron = "0 0 0/1 * * ?") // 每小时执行一次
public void task() {
// 执行定时任务的方法体
}
```
除了 cron 表达式,@Scheduled 注解还支持以下时间间隔的表示方式:
- fixedDelay:表示上一次执行完毕后延时固定时间后再执行。
- fixedRate:表示固定时间间隔执行,不管上一次是否执行完毕。
- initialDelay:表示首次延时执行。
- zone:表示时区。
例如:
```
@Scheduled(fixedDelay = 5000) // 每 5 秒执行一次
public void task() {
// 执行定时任务的方法体
}
```
阅读全文