异步任务 
类似ajax 异步请求 可以额外开启线程来完成另外一个方法
使用的场景有 邮件发送,清理缓存数据,短信验证码,等等
首先,我们需要在在spring boot 启动类上,声明开启 异步任务
添加注解
java
@EnableAsync小提示:还有很多注解以Enable 开头的,都是开启某某功能
之后,我们需要在,异步执行的方法上添加@Asyn 注解 即可实现异步任务
邮件发送 
首先需要导入mail 依赖
xml
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-mail</artifactId>
    <version>2.3.7.RELEASE</version>
</dependency>然后需要去qq 邮箱设置里开启smtp
之后获取密钥
yaml
spring:
  mail:
    password: bkdvktdsncnpdgge
    username: 2936408477@qq.com
    host: smtp.qq.com # qq邮箱
    properties:
      mail:
        smtp:
          auth: true
          starttls:
            enable: true
            required: true测试
简单的邮件,
java
    @Test
    void contextLoads() {
        SimpleMailMessage simpleMailMessage = new SimpleMailMessage();
        // 发送给谁
        simpleMailMessage.setTo("2936408477@qq.com");
        // 谁发送
        simpleMailMessage.setFrom("2936408477@qq.com");
        // 设置主题
        simpleMailMessage.setSubject("aaaa");
        simpleMailMessage.setText("hello");
        javaMailSender.send(simpleMailMessage);
    }复杂的邮件 可以发送html内容
java
@Test
void contextLoads2() throws MessagingException {
    MimeMessage mimeMessage = javaMailSender.createMimeMessage();
    MimeMessageHelper messageHelper = new MimeMessageHelper(mimeMessage);
    // true 表示解析html 标签
    messageHelper.setText("<h1>aaaa</h1>",true);
    messageHelper.setFrom("2936408477@qq.com");
    messageHelper.setTo("2936408477@qq.com");
    messageHelper.setSubject("1111");
    javaMailSender.send(mimeMessage);
}定时任务 
和名称一样具有相同的功能,
首先我们需要在spring boot 启动类上开启 定时任务
@EnableScheduling
之后,在你想要执行定时任务的 方法上添加注解 @Scheduled() 其中 有个cron 的属性,为表达式,表达式包含定时任务开启的时间,和循环时间
具体,可以参考,cron 代码生成器
