@Scheduled为设置定时任务的注解。

参数常用的为两种:

  • 第一种是fixedRate,表示以一种固定频率去执行,单位为毫秒;例如@Scheduled(fixedRate = 5000)  表示为每五秒执行一次。
  • 第二种为cron,按照cron表达式执行;如果不了解cron表达式,可先百度了解。

基于注解设置定时任务

1.创建定时任务处理类TimedTask

package com.lw.coodytask.scheduled;

import org.springframework.scheduling.annotation.EnableScheduling;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;
import java.time.LocalDateTime;

/**
 * @Classname TimedTask
 * @Description 定时任务
 * @Author lw
 * @Date 2019-12-20 16:43
 */
@EnableScheduling
@Component
public class TimedTask {

    @Scheduled(fixedRate = 5000)
    public void task_1(){
        System.out.println("定时任务1:" + LocalDateTime.now());
    }

    @Scheduled(cron = "0/5 * * * * ?")
    public void task_2(){
        System.out.println("定时任务2:" + LocalDateTime.now());
    }
}

2.启动CoodyTaskApplication服务

package com.lw.coodytask;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication
public class CoodyTaskApplication {

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

3.效果

Spring Boot-定时任务_定时任务