SpringBoot——定时任务

定时任务

1.创建任务管理类

创建任务管理类TaskManager.java,将需要定时执行的方法都集中放在该类中
(1)类TaskManager上需要加上注解@Component和@EnableScheduling
(2)类中的定时任务方法需要加上注解@Scheduled,并通过该注解的cron设置定时任务的自动执行间隔

@Component
@EnableScheduling
public class TaskManager {

    @Scheduled(cron = "*/5 * * * * ?")
    public void systemTime(){
        System.out.println("每隔5秒执行一次,获取当前时间为:" + new Date());
        // TODO  要定时执行的具体逻辑
    }

    @Scheduled(cron = "*/3 * * * * ?")
    public void systemString(){
        System.out.println("每隔3秒执行一次");
        // TODO  要定时执行的具体逻辑
    }
}

2.初始化定时任务启动类

创建定时任务启动类InitTask.java,实现CommandLineRunner,重写run方法
(1)启动类InitTask上要添加注解@Component
(2)在启动类InitTask中注入创建的任务管理类TaskManager
(3)重写run方法,在run方法内调用任务管理类TaskManager中的定时任务

@Component
public class InitTask implements CommandLineRunner {

    //注入创建的任务管理类TaskManager
    @Autowired
    private TaskManager taskManager;

    //重写run方法
    @Override
    public void run(String... args) throws Exception {
        
        //调用任务管理类TaskManager中的定时任务
        taskManager.systemTime();
        taskManager.systemString();
    }
}

3.启动项目

启动项目后,就会自动执行:
SpringBoot——定时任务_第1张图片

你可能感兴趣的:(java)