SpringBoot中的定时任务————@Scheduled

注解说明

  • 使用注解:@Scheduled @EnableScheduling
  • 效果:可以实现在指定时间、指定周期执行动作

引入步骤

  1. 在启动方法前加上@EnableScheduling开启定时任务开关
  2. 在任务执行方法上加上@Scheduled,并使用cron表达式定义任务执行周期

示例代码

完整参考代码github

1
2
3
4
5
6
7
8
9
10
11
12
13
14
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;

import java.util.Calendar;

@Component
public class MyScheduled {

@Scheduled(cron = "0/2 * * * * ?")
public void task1() {
Calendar now = Calendar.getInstance();
System.out.println("hello, i am task1,now:" + now.getTime().toString());
}
}
1
2
3
4
5
6
7
8
9
10
11
12
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.scheduling.annotation.EnableScheduling;

@SpringBootApplication
@EnableScheduling
public class SpringBootStartApplication {

public static void main(String[] args) {
SpringApplication.run(SpringBootStartApplication.class, args);
}
}

运行结果

在线生成cron表达式