后端技术 —— SpringTask

        一、什么时候需要使用SpringTask

        在后端,有些任务需要在特定时间下自动触发,比如外卖平台在凌晨时分需要自动将在派送的订单设置为已完成,用户下单后超过设定时间未支付需要自动关闭订单、银行后台在每月初自动给用户发送信用卡还款提醒、火车票售票系统处理未支付订单等。

        

        二、什么是SpringTask

        SpringTask是Spring框架提供的任务调度工具,可以按照约定的时间自动执行某个代码逻辑。简单来说就是定时自动执行某段java代码。 

        三、简单的例子

        自定义一个任务类,加上Component注解,在executeTask方法中编写自定义的定时任务,并在方法上加上Scheduled注解,在注解后加上cron表达式,cron表达式会指定任务的触发时间。下一小节将会简要介绍cron表达式。

        @Component

        public class AutoTask(){

                @Scheduled(cron= “0/5 * * * * ?”)

                public void executeTask(){

                        //编写自定义的任务..............

                }

        }

        以上是自定义定时任务类,在项目中使用时,需先导入Maven坐标spring-context,然后在启动类添加注解@EnableScheduling来开启任务调度。

        

        四、cron表达式

        cron表达式其实就是一个字符串,通过cron表达式可以定义任务触发的时间,它由6或者7个域构成,由空格分隔开,每个域代表一个含义,分别代表:秒、分钟、小时、日、月、周、年(可选),举个例子,2022年10月12日上午9点整对应的cron表达式为:

         日和周这俩位置比较特殊,两者只能填一个,另一个只能填?。周代表着星期几,如果确定了日,则周这个位置就要填? ,确定了周的位置,则日这个位置就要填?。

        可以在cron生成器在线网站上,辅助生成cron表达式,网站有很多,这里只放一个, Cron - 在线Cron表达式生成器

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值