码迷,mamicode.com
首页 > 编程语言 > 详细

SpringBoot(6) ------>异步任务、邮件任务与定时任务

时间:2021-01-18 10:54:40      阅读:0      评论:0      收藏:0      [点我收藏+]

标签:str   文件中   depend   mime   aec   strong   ESS   启动   sub   

一、异步任务

1、启动类上添加@EnableAsync注解,启用异步模式

2、方法上添加@Async注解

/**
 * @author liangd
 * date 2020-12-15 10:49
 * code 异步任务
 */
@Service
public class AsyncService {
    /**
     * 开启异步,加上这个注解就不会等待3s时间
     */
    @Async
    public void hello(){
        try {
            System.out.println("数据处理中....");
            Thread.sleep(3000);
        } catch (InterruptedException e) {
            e.printStackTrace();
        }
    }
}

二、邮件任务

1、向pom文件中添加依赖

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

2、application.properties配置

spring.mail.username=2425250502@qq.com
spring.mail.password=jzkhabcgveioeaec
spring.mail.host=smtp.qq.com
#spring.mail.properties.mail.smtp.ssl.enable=true

3、测试

    用qq邮箱向网易邮箱发送邮件

   @Autowired
    JavaMailSenderImpl mailSender;


    /**
     * 简单的邮件发送
     */
    @Test
    void contextLoads() {
        SimpleMailMessage message = new SimpleMailMessage();
        message.setSubject("重要通知:请各位查收");       //标题
        message.setText("今晚7点30分,全体成员到会议室开会"); //内容

        message.setTo("18090287931@163.com");
        message.setFrom("2425250502@qq.com");

        mailSender.send(message);
    }

    /**
     * 复杂的邮件发送
     */
    @Test
    void testMail() {
        MimeMessage mimeMessage = mailSender.createMimeMessage();
        try {
            MimeMessageHelper helper = new MimeMessageHelper(mimeMessage, true);
            helper.setSubject("重要通知:请各位查收");
            helper.setText("<h2 style=‘color:red‘>今晚7点30分,全体成员到会议室开会<h2/>", true);

            helper.setTo("18090287931@163.com");
            helper.setFrom("2425250502@qq.com");

            //文件发送
            helper.addAttachment("loginImg.jpg", new File("E:\\liangd\\ylws-04\\web\\img\\loginImg.jpg"));
            helper.addAttachment("class02.jpg", new File("E:\\梁冬\\Documents\\文档\\图片\\lcsz\\class02.jpg"));

            mailSender.send(mimeMessage);
        } catch (MessagingException e) {
            e.printStackTrace();
        }
    }

注意:要在qq邮箱设置-->账户下,开启以下两种服务

技术图片

三、定时任务

1、启动类上添加@EnableScheduling注解

2、方法上添加@Scheduled注解

package com.donleo.task.service;

import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Service;

/**
 * @author liangd
 * date 2020-12-15 11:09
 * code 定时任务
 */
@Service
public class ScheduledService {

    /**
     * cron 参数顺序
     * second(秒), minute(分), hour(时), day of month(日), month(月), day of week(周几).
     *
     * 示例:
     * 0/4 * * * * MON-SAT    表示星期一到星期六中每4秒执行一次
     *
     *  【0 0/5 14,18 * * ?】 每天14点整,和18点整,每隔5分钟执行一次
     *  【0 15 10 ? * 1-6】 每个月的周一至周六10:15分执行一次
     *  【0 0 2 ? * 6L】每个月的最后一个周六凌晨2点执行一次
     *  【0 0 2 LW * ?】每个月的最后一个工作日凌晨2点执行一次
     *  【0 0 2-4 ? * 1#1】每个月的第一个周一凌晨2点到4点期间,每个整点都执行一次;
     */
    @Scheduled(cron = "0/4 * * * * MON-SAT")
    public void scheduled(){
        System.out.println("定时任务");
    }
}

 

SpringBoot(6) ------>异步任务、邮件任务与定时任务

标签:str   文件中   depend   mime   aec   strong   ESS   启动   sub   

原文地址:https://www.cnblogs.com/donleo123/p/14287150.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!