springboot的定时任务
时间: 2023-06-18 21:08:51 浏览: 96
在Spring Boot中,我们可以使用`@Scheduled`注释来创建定时任务。下面是一个简单的例子:
1. 首先,在你的Spring Boot应用程序类上添加`@EnableScheduling`注释。
```java
@SpringBootApplication
@EnableScheduling
public class MyApp {
public static void main(String[] args) {
SpringApplication.run(MyApp.class, args);
}
}
```
2. 然后,在你要定时执行的方法上添加`@Scheduled`注释,设置执行的时间间隔。
```java
@Component
public class MyTask {
@Scheduled(fixedRate = 5000) //每隔5秒执行一次
public void doSomething() {
// 执行定时任务的代码
}
}
```
在上面的例子中,我们使用`@Scheduled`注释来指定定时任务的执行时间间隔。`fixedRate`属性表示每隔多少毫秒执行一次定时任务。
除了`fixedRate`属性,还有其他属性可以用来配置定时任务,例如:
- `fixedDelay`:在上一次任务完成后延迟多少毫秒执行下一次任务。
- `cron`:使用Cron表达式来指定定时任务的执行时间。
需要注意的是,`@Scheduled`注释只能用于方法上,而且这个方法必须是public方法。同时,如果你在使用`@Scheduled`注释时没有指定线程池,那么Spring会默认创建一个单线程的线程池来执行定时任务。
阅读全文