@Scheduled 设置 启动后执行一次,之后每天 晚上11点执行一次
时间: 2024-09-04 08:03:05 浏览: 116
SpringBoot执行定时任务@Scheduled的方法
5星 · 资源好评率100%
`@Scheduled` 是Spring框架中的一个注解,用于配置任务的定时执行。当你在一个方法上应用这个注解,并设置`fixedRate`或`cron`表达式属性时,可以控制任务的执行频率。
如果你想要一个任务在程序启动后只执行一次,通常会使用`initialDelay`属性指定一个延迟时间,例如:
```java
@Scheduled(initialDelay = 5000) // 延迟5秒执行一次
public void executeOnce() {
// 单次执行的任务逻辑
}
```
如果目标是让该任务每天晚上11点执行一次,则应使用`cron`表达式,表示为:
```java
@Scheduled(cron = "0 23 23 * * ?") // 每天23小时(即晚上11点)执行
public void dailyExecutionAtElevenPM() {
// 每日定时的任务逻辑
}
```
这里的`0 23 23 * * ?`分别代表分钟(0)、小时(23)和日期(*表示每一天),问号`?`表示星期,由于星号已经包含了所有星期,所以这里不需要指定。
阅读全文