SpringBoot定时任务(新手向)(入门)

SpringBoot定时任务(入门)

本文主要介绍如何在Spring Boot中使用定时任务。
从而可以完成一些业务逻辑,比如天气接口的数据获取,定时发送短信,邮件等。
废话不多说,步骤如下

步骤如下

在 @SpringBootApplication注解的主入口类添加 @EnableScheduling注解来开启定时计划

例:在util文件下创建实现类‘Scheduling(非强制名)’ 实现每10秒允许一次的效果

//实例化
@Component
//注入bean
@Configurable
@EnableScheduling//开启计划
public class Scheduling {
     
    @Scheduled(cron = "0/10 * * * * ?")
    public void runWhit10s(){
     
        System.out.println("每10秒执行一次");
    }
}

CORN表达式

字段 允许值 特殊符号
0-59 ,-*/
0-59 ,-*/
小时 0-23 ,-*/
日期 1-31 ,-*/LWC
月份 1-12 或 JAN-DEC ,-*/
星期 1-7 或 SUN-SAT LC#
年(可选) 留空 或 1970-2099 ,-*/
* 表示所有值。在分钟里表示每一分钟触发。在小时,日期,月份等里面表示每一小时,每一日,每一月。

?表示不指定值。表示不关心当前位置设置的值。 比如不关心是周几,则周的位置填写?。

‘-’ 表示区间。小时设置为10-12表示10,11,12点均会触发。

,表示多个值。 小时设置成10,12表示10点和12点会触发。

/ 表示递增触发。 5/15表示从第5秒开始,每隔15秒触发。

L 表示最后的意思。 日上表示最后一天。星期上表示星期六或7。 L前加数据,表示该数据的最后一个。

星期上设置6L表示最后一个星期五。 6表示星期五

W表示离指定日期最近的工作日触发。15W离该月15号最近的工作日触发。

#表示每月的第几个周几。 6#3表示该月的第三个周五

表达式含义

表达式 效果
0 0 12 * * ? 每天中午12点触发
0 * 14 * * ? 在每天下午2点到下午2:59期间的每1分钟触发
0 0/5 14 * * ? 在每天下午2点到下午2:05期间的每1分钟触发
0 15 10 L 每月最后一日的上午10:15触发
0 15 10 ? * 6#3 每月的第三个星期五上午10:15触发
0 6 * * * 每天早上6点
0 */2 * * * 每2小时
0 3 1 1 * 1月1日早上3点

你可能感兴趣的:(springboot,spring)