SpringBoot 中的 @Scheduled 注解为定时任务提供了一种很简单的实现,只需要在注解中加上一些属性,例如 fixedRate、fixedDelay、cron(最常用)等等,并且在启动类上面加上 @EnableScheduling 注解,就可以启动一个定时任务了。

1.在启动类上添加@EnableScheduling 注解,开启定时任务。

@EnableScheduling //开启定时功能的注解
@SpringBootApplication
public class ScheduleTestApplication {
    public static void main(String[] args) {
        SpringApplication.run(ScheduleTestApplication.class, args);
    }
}

2.创建定时任务,使用@Scheduled注解。

@Service
public class ScheduleService {
    //在一个特定的时间执行这个方法
    //cron 表达式
    @Scheduled(cron = "0 * * * * 0-7")  //表示:秒 分 时 日 月 星期几
    public void hello(){
        System.out.println("hello,你被执行了");
    }
}

cron的参数:按顺序依次为

秒(0-59) 例如0/5表示每5秒

分钟(0-59)

小时(0-23)

天(月)(0-31,需要考虑月的天数如:2月28天)

月(0-11)

天(星期)(1-7 1=SUN 或 SUN,MON,TUE,WED,THU,FRI,SAT)

 通过在线生成Cron表达式的工具:在线Cron表达式生成器 可以生成表达式

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐