乐趣区

关于java: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. 启动我的项目

启动我的项目后,就会主动执行:

退出移动版