schedued注解 详细解释
时间: 2023-12-14 11:04:38 浏览: 31
`@Scheduled` 是 Spring 框架中的一个注解,用来实现定时任务。使用 `@Scheduled` 注解可以很方便地指定一个方法或者一个类的某个方法作为定时任务执行。
`@Scheduled` 注解有以下常用属性:
- `fixedDelay`:表示间隔多长时间执行一次任务,单位为毫秒。
- `fixedRate`:表示每隔多长时间执行一次任务,单位为毫秒。
- `initialDelay`:表示第一次延迟多长时间后再执行任务,单位为毫秒。
- `cron`:使用 cron 表达式指定任务执行时间。
下面是一个使用 `@Scheduled` 注解的示例:
```java
@Component
public class MyTask {
@Scheduled(fixedDelay = 5000) // 每隔 5 秒执行一次
public void task() {
// 执行任务
}
}
```
上述代码中,`@Scheduled(fixedDelay = 5000)` 表示每隔 5 秒执行一次 `task` 方法。在 `MyTask` 类上加上 `@Component` 注解,表示该类作为 Spring 的组件进行扫描和管理。
除了使用 `fixedDelay` 属性和 `fixedRate` 属性来指定定时任务的执行时间,也可以使用 `cron` 属性来指定。例如:
```java
@Component
public class MyTask {
@Scheduled(cron = "0 0 0 * * ?") // 每天凌晨 0 点执行
public void task() {
// 执行任务
}
}
```
上述代码中,`@Scheduled(cron = "0 0 0 * * ?")` 表示每天凌晨 0 点执行 `task` 方法。这里使用了 cron 表达式来指定执行时间,具体含义可以参考相关文档。
需要注意的是,使用 `@Scheduled` 注解时,需要在 Spring 配置文件中配置任务执行器。可以使用 `ThreadPoolTaskScheduler` 或者 `ConcurrentTaskScheduler` 作为任务执行器。在配置文件中指定执行器后,`@Scheduled` 注解就能够正常使用了。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)