java @Scheduled 每日凌晨1执行
时间: 2024-07-11 18:01:14 浏览: 146
关于给springboot添加定时器的两种方式
Java中的`@Scheduled`注解是Spring框架提供的一种任务调度功能,用于在后台定期执行某个方法或任务。如果你想让一个方法每凌晨1点执行,你可以这样做:
```java
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;
@Component
public class MyTask {
// 使用cron表达式定义时间规则
@Scheduled(cron = "0 0 1 * * ?") // 第1个数字代表分钟(0-59),0表示每天的凌晨1点
public void executeAt Midnight() {
// 这里放置你的业务逻辑代码
System.out.println("Task executed at midnight");
}
}
```
在这个例子中,`cron = "0 0 1 * * ?"`是一个cron表达式,其中:
- `0 0 1` 表示小时(0-23)、分钟(0-59)和秒(0-59),这里是凌晨1点整即01点00分00秒。
- `* * *` 分别代表每个月的每一天、每个月中的每一天和每年中的每一天,这里通配符`*`意味着每天。
- `?` 表示星期几,`?` 表示所有星期,`L` 表示最后一个,`W` 表示星期几后的一天,此处`?`代表一周中的任意一天。
当你运行含有这个注解的方法所在的Spring应用时,Spring会根据`@Scheduled`的配置自动调度该方法,在指定的时间运行。
阅读全文