文章目录
前言
讲讲springboot的任务机制, 同样的, 使用非常之方便
这块也是我之前从未了解过的内容 , 还是人菜啊(又懒又笨 )
提示:以下是本篇文章正文内容,下面案例可供参考
一、异步任务
异步异步, 所谓的异步就是同时执行 ( 哈哈没想到吧)
让我们回忆一下之前学习的Ajax
, 在很久很久以前的一篇笔记里 , 记录了Ajax模拟QQ邮箱登录的效果,在请求提交的时候 , 当前程序并不是处于停滞状态 ,此时仍然可以进行一些其它的操作 .
而今天讲到的异步任务 , 用于避免线程阻塞 , 也是用于提高程序运行效率,增强用户体验的 .
1.如何开启异步任务
非常非常非常简单
1. 在主方法中打上注解 @EnableAsync 开启注解
2. 在需要使用异步的方法上打上 @Async
完了,异步任务开启完毕
2.哪些场景下需要使用异步任务
主要就是 : 发短信 , 发邮件 , 发消息推送…
二、邮件任务
说啥来啥 , 发邮件它来啦~
下面讲讲邮件发送搭建流程 :
1. 万年不变 : 写配置
先导入启动项 spring-boot-starter-mail
!
主要需要配置的内容包括 :
1. 邮箱的账号及密码 (QQ邮箱有加密,下面另说)
2. 配置主机名
3. 开启加密验证 (如果是QQ邮箱的话)
代码如下(示例):
#邮件任务配置
spring.mail.host=smtp.qq.com
spring.mail.username=邮箱
#授权码
spring.mail.password= 加密码
spring.mail.default-encoding=UTF-8
#QQ邮箱才有的加密验证
spring.mail.properties.mail.smtl.ssl.enable=true
2.注入JavaMailSenderImpl并设置邮件内容
代码如下(示例):
SimpleMailMessage mailMessage = new SimpleMailMessage();
mailMessage.setSubject("Xiaoj"); //主题
mailMessage.setText("666"); //内容
mailMessage.setTo("[email protected]"); //目的地和发出方
mailMessage.setFrom("[email protected]");
javaMailSender.send(mailMessage);
关于QQ邮箱的POP3开启
开启POP3, 经过验证后 , 我们会得到一串字符串 ,即spring.mail.password的值
下面是设置POP3的流程
三、定时任务
1. 先讲讲啥是cron
cron可以根据约定时间完成任务 , cron的表达式语法如下
0 * * * * 0-7
秒 分 时 日 月 周几
具体如何配置 , 可以参考下面的文章 传送门
2. 基本操作
**1.在需要定时的方法上打上配置 : **
@Scheduled(cron = "0/2 * * * * ?")
public void testScheduled(){
System.out.println("已被执行...");
}
2.开启定时 : 不一定就要在主方法中开启定时 ,在其它controller方法中也可以使用@EnableScheduling