疫情期间口罩紧俏,教你用代码实现抢购

                                                                                    背景介绍

话说猿小二同学,终于在头发掉没之前找到一位女朋友,这是一件多么令人高兴值得庆祝的事情啊,身边的朋友、同事、同学都从心里为他高兴(实际心里都在想,这是哪个傻白甜竟然能看上这个"不食人间烟火"的程序猿,真的很好奇,想看一看)。

这不最近猿小二跟她的女朋友在闹别扭呢,都说男生是单细胞生物,程序猿更是如此

猿小二:你怎么了?不开心么?生气了吗?为什么不开心?为什么生气?

女朋友:你怎么都不关心我?

猿小二:我哪里不关心你了?(心里默念,你无情,你冷酷,你无理取闹!)

女朋友:那你就不无情,不冷酷,不无理取闹?(好像有特异功能,竟然可以听到)

猿小二:我哪里无情?哪里冷酷?哪里无理取闹?

女朋友:你哪里不无情?哪里不冷酷?哪里不无理取闹?

猿小二:猛然回过神儿来,现在疫情这么严重,依旧冒着生命危险一日三次外出觅食(对于吃货来说,吃永远大过一切),是时候给她买点儿口罩了,但是口罩现在是稀缺品,每天不定时供应一点,买不到啊!!

扫描二维码关注公众号,回复: 11166202 查看本文章

猿小二正在思索着,突然天空划过一道闪电,我可是程序猿啊,别人都用手抢,我可以不用啊,于是猿小二凭借自己多年在Bug追踪方面积累的深厚功力,快速的定位问题所在,开始思考评估问题最优的解决方案,于是心生一计,既然不确定什么时候放出口罩,那我何不用程序一直不停的抢啊,于是信誓旦旦来到女朋友面前。

猿小二:亲爱的,我去去就回....

于是,猿小二把女朋友放在一边,自己坐在电脑前又开始定时任务的编码;自此以后,猿小二越发的自信,没有什么是一行代码搞不定的。

                                                                        什么是定时任务

首先,咱么先来说一下什么是定时任务,顾名思义,定时任务就是在固定的时间执行固定的任务(事儿);比如说,在我们的项目中,经常要在固定的时间去清理一些垃圾数据,定时发送邮件、定时发送短信等,如果大家细心的话可能会发现微信里的腾讯新闻每天都有几个固定时间给你推送新闻,如果之前没有注意到的话,可以回去翻下微信里的腾讯新闻。

知道了什么是定时任务,我们再来看下实现定时任务的方式都有哪些

                                                                    八仙过海,各显神通

在Java中,实现定时任务有很多种方式,有原生的定时器类也有第三方定时任务框架,而且都已经非常成熟;在SpringBoot中不仅可以使用Java提供的原生方式,还可以使用SpringBoot默认提供的定时任务

原生的定时任务

• Timer

• ScheduledExecutorService

Spring提供的定时任务

• Spring Task Spring3.0以后自带的定时任务处理器

第三方定时任务框架

• Quartz 非常优秀的任务调度框架

了解了这么多,那么在Spring boot里如何实现定时任务呢?我们都知道Spring Boot是基于Spring的,所以SpringBoot默认提供的定时任务处理方案其实就是Spring Task做了一些封装,接下来我们就来一起通过SpringBoot自带的定时任务处理器实现一个定时任务。

                                                              使用SpringBoot实现定时任务工程搭建

首先,使用SpirngBoot Initializr 创建SpringBoot基础工程,因为定时任务是SpringBoot默认提供的所以此时,我们不需要加任何依赖,只需要在主启动类上加上@EnableScheduling注解就可以

@EnableScheduling:表示开启定时任务

                                                                                  抢口罩(任务)

接下来就可以创建定时任务TaskService类,记得要在类上添加@Component注解,需要SpringBoot在启动的时候,扫描这个定时任务类。然后需要在要执行的定时任务上添加@Scheduled注解

@Scheduled:表示具体的执行任务的时间,里面是corn表达式

Tips:

corn表达式,这里提供一个可以在线生成corn的网址,可以通过配置corn表达式来定义定时任务的执行时间

                                                                                    开启幸福生活

启动SpringBoot工程,静静的等上5秒,就可以看到每隔5秒控制台都会输入一次“为了女朋友有饭吃, 努力抢口罩中....”的日志,是不是非常简单呢,希望今天这篇文章可以帮助你

想学习相关的内容,可以继续关注我们,分享知识、分享技能、分享成长

原创文章 39 获赞 5 访问量 6094

猜你喜欢

转载自blog.csdn.net/kgc_cn/article/details/104613656