SpringBoot之任务(异步,定时任务, 邮件任务基础配置)


前言

讲讲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


猜你喜欢

转载自blog.csdn.net/qq_45596525/article/details/109308841