美文网首页java学习之路
spring boot 进阶(三)springBoot与任务

spring boot 进阶(三)springBoot与任务

作者: 唯有努力不欺人丶 | 来源:发表于2020-12-28 21:52 被阅读0次

    完全不懂为什么这个要放到高级课程。。毕竟简单的很,不过既然讲了我就简单的记录一下。这里的任务分为普通任务和定时任务。

    异步任务

    我们知道有些时候方法中要调用一些很慢才能出结果的东西,而且这个结果并不需要同时返回,对于方法的返回也没什么影响,那我们就可以把这个方法设置为异步方法。也就是可以一边去执行这个方法一边返回当前结果。
    而使用方法也简单的很,只要在想要异步调用的方法上添加一个注解:

    @Async
    

    当然了这个前提是要启动异步注解的功能,也就是在主类上加:

    @EnableAsync
    

    这个应该很容易记住和理解,毕竟很多时候我们要某种注解起作用几乎都要在主类上开启这种注解类型。因为我是好多知识点都在一个项目中,给大家看一下我现在的主类:


    注解上注解

    下面做个简单的demo:


    正常调用
    3秒钟出结果

    如上代码,接口请求时会等大概三秒钟然后返回一个success。
    而如果我们在task方法上加上异步注解(现在主类开启async),则会直接返回:


    方法上加上async注解
    3毫秒返回结果

    定时任务

    这里老师讲的就是最基本的定时任务,虽然我个人用原生Quartz比较多,主要是觉得持久化比较放心。这里简单说一下:
    依然是两个组合注解:

    @EnableScheduling
    @Scheduled
    

    看名字就能看出来,第一个是用在主类上开启定时任务,第二个是想要定时的方法上标记并指定时间/时间间隔
    这里主要说一下scheduled的一个属性:cron
    cron是一个代表时间的表达式,可以是某个时间,也可以是指定时间间隔的时间,当然也可以是指定的某些时间。
    简单说一下,cron表达式有六位。从左往右依次秒,分,时,日,月,星期。具体的看下图:


    cron表达式

    只要开启注解并且设置好时间这个几乎不会出意外,我就不截图了。

    发送邮件

    这个怎么说呢,我最开始写技术笔记就说了java发送邮件验证码的方式。当时还没spring boot整合mail。现在有了只不过是更方便了。我也不敲了,简单说下就得了:

    1. 导包 去maven仓库找
    2. 配置账户名密码等(这里密码可以是一个三方授权码)


      配置截图
    3. 在代码中使用:


      复杂邮件发送demo

    然后这块就不多说了,感觉这块学的太浅了,一点都莫得溜源码舒服。
    本篇笔记就记到这里,如果稍微帮到你了记得点个喜欢点个关注,也祝大家工作顺顺利利!

    相关文章

      网友评论

        本文标题:spring boot 进阶(三)springBoot与任务

        本文链接:https://www.haomeiwen.com/subject/hagtoktx.html