Spring Boot 任务

1、概述

Spring Boot 中任务分为三种异步任务、定时任务和邮件任务。

  • 异步任务 在实际的开发过程中使用的是非常广泛的,特别是在邮件发送,数据处理的过程中,不希望影响后面的进程,我们都会采用异步任务
  • 定时任务 在项目中需要特定的时间进行一些特定的任务,此时就需要定时任务。
  • **邮件任务 ** 在 spring boot 项目中发送邮件

2、异步任务

2.1、开启异步任务

Application 类上添加注解 @EnableAsync 开启异步任务注解

@EnableAsync
@SpringBootApplication
public class Task1Application {

    public static void main(String[] args) {
        SpringApplication.run(Task1Application.class, args);
    }

}

2.2、指定 service 方法

在需要开启异步任务的方法上添加 @Async 注解

@Async
@Override
public String asyncTest() {
    try {
        Thread.sleep(2000);
    } catch (InterruptedException e) {
        e.printStackTrace();
    }
    return "hello world";
}

3、定时任务

3.1、相关类及注解

  • TaskScheduler 任务调度
  • TaskExecutor 任务执行
  • @EnableScheduling 开启定时任务功能
  • @Scheduled 什么时候执行任务
  • Cron 表达式 参考文章

3.2、使用

@Scheduled(cron = "0/5 * * * * ?") // 每 5 秒钟执行一次
@Override
public String test1() {
    System.out.println("定时任务执行!");
    return null;
}

在这里插入图片描述

4、邮件任务

4.1、导包

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-mail</artifactId>
</dependency>

4.2、发送邮件

4.2.1、简单邮件发送
@Test
void contextLoads() {
    SimpleMailMessage simpleMailMessage = new SimpleMailMessage();

    simpleMailMessage.setSubject("这是一个标题"); // 设置标题
    simpleMailMessage.setText("这是一段文字"); // 设置内容

    simpleMailMessage.setTo("2827075398@qq.com"); // 发送到的邮箱地址
    simpleMailMessage.setFrom("2827075398@qq.com"); // 发送者

    mailSender.send(simpleMailMessage); // 发送邮件
}

在这里插入图片描述

4.2.2、复杂邮件发送
@Test
void contextLoads1() throws MessagingException {
    MimeMessage mimeMessage = mailSender.createMimeMessage();

    // 参数二 是否支持内联元素 附件 上传
    MimeMessageHelper helper = new MimeMessageHelper(mimeMessage, true);

    helper.setSubject("这是一个标题");
    // 参数二为 true 时会将 text 中的内容作为 html 解析
    helper.setText("<p> 文字<span style=\"color: red;\">啦啦啦啦</span> </p>", true);

    // 发送文件名,要发送的文件
    helper.addAttachment("1.jpg", new File("F:\\图片文件\\表情包\\waifu.png"));
    helper.addAttachment("2.jpg", new File("F:\\图片文件\\表情包\\one.jpg"));

    helper.setTo("2827075398@qq.com");
    helper.setFrom("2827075398@qq.com");

    mailSender.send(mimeMessage);
}

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

陌尘吖

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值