第八章 SpringBoot系列实现任务调度Scheduled

系列文章目录

第一章 SpringBoot系列之从0搭建项目
第二章 SpringBoot系列返回json数据
第三章 SpringBoot系列GlobalException全局异常捕获
第四章 SpringBoot系列整合Mybatis做增删改查
第五章 SpringBoot系列配置JPA访问数据
第六章 SpringBoot系列使用JdbcTemplate操作数据
第七章 SpringBoot系列静态资源处理,访问磁盘文件


前言

本章内容在第一章SpringBoot项目基础上加入定时任务调度功能,定时任务在日常开发中应用场景也是蛮多的,所以说也算是必学课哦~


提示:以下是本篇文章正文内容,下面案例可供参考

新增ScheduleConfigurer调度任务配置类

@Configuration 标记为配置类
@EnableScheduling 开启调度任务
@Scheduled(cron = "0/10 * * * * ? ") 从0秒开始每10秒执行一次
cron表达式如果不会可去在线生成网站根据自身需求生成即可

package com.example.demo.config;

import lombok.extern.slf4j.Slf4j;
import org.springframework.context.annotation.Configuration;
import org.springframework.scheduling.annotation.EnableScheduling;
import org.springframework.scheduling.annotation.Scheduled;

@Slf4j //lombok日志
@Configuration //标记为配置类
@EnableScheduling //开启调度任务
public class ScheduleConfigurer {

    @Scheduled(cron = "0/10 * * * * ? ")//从0秒开始每10秒执行一次
    public void testSchedule() {
        log.info("testSchedule 定时任务测试");
    }
}

执行结果日志:

2020-11-01 12:22:30.001  INFO 29416 --- [   scheduling-1] c.e.demo.config.ScheduleConfigurer       : testSchedule 定时任务测试
2020-11-01 12:22:40.121  INFO 29416 --- [   scheduling-1] c.e.demo.config.ScheduleConfigurer       : testSchedule 定时任务测试
2020-11-01 12:22:50.001  INFO 29416 --- [   scheduling-1] c.e.demo.config.ScheduleConfigurer       : testSchedule 定时任务测试
2020-11-01 12:23:00.001  INFO 29416 --- [   scheduling-1] c.e.demo.config.ScheduleConfigurer       : testSchedule 定时任务测试
2020-11-01 12:23:10.002  INFO 29416 --- [   scheduling-1] c.e.demo.config.ScheduleConfigurer       : testSchedule 定时任务测试
2020-11-01 12:23:20.002  INFO 29416 --- [   scheduling-1] c.e.demo.config.ScheduleConfigurer       : testSchedule 定时任务测试
2020-11-01 12:23:30.013  INFO 29416 --- [   scheduling-1] c.e.demo.config.ScheduleConfigurer       : testSchedule 定时任务测试
2020-11-01 12:23:40.002  INFO 29416 --- [   scheduling-1] c.e.demo.config.ScheduleConfigurer       : testSchedule 定时任务测试
2020-11-01 12:23:50.002  INFO 29416 --- [   scheduling-1] c.e.demo.config.ScheduleConfigurer       : testSchedule 定时任务测试
2020-11-01 12:24:00.007  INFO 29416 --- [   scheduling-1] c.e.demo.config.ScheduleConfigurer       : testSchedule 定时任务测试
2020-11-01 12:24:10.001  INFO 29416 --- [   scheduling-1] c.e.demo.config.ScheduleConfigurer       : testSchedule 定时任务测试
2020-11-01 12:24:20.002  INFO 29416 --- [   scheduling-1] c.e.demo.config.ScheduleConfigurer       : testSchedule 定时任务测试
2020-11-01 12:24:30.001  INFO 29416 --- [   scheduling-1] c.e.demo.config.ScheduleConfigurer       : testSchedule 定时任务测试
2020-11-01 12:24:40.001  INFO 29416 --- [   scheduling-1] c.e.demo.config.ScheduleConfigurer       : testSchedule 定时任务测试
2020-11-01 12:24:50.002  INFO 29416 --- [   scheduling-1] c.e.demo.config.ScheduleConfigurer       : testSchedule 定时任务测试
2020-11-01 12:25:00.010  INFO 29416 --- [   scheduling-1] c.e.demo.config.ScheduleConfigurer       : testSchedule 定时任务测试
2020-11-01 12:25:10.000  INFO 29416 --- [   scheduling-1] c.e.demo.config.ScheduleConfigurer       : testSchedule 定时任务测试

总结

今天内容比较简单,不过定时任务是JAVA开发者必需要掌握的技能哦。

原文地址:https://www.cnblogs.com/javakfz/p/13938204.html