SpringBoot(6) ------>异步任务、邮件任务与定时任务
2021-03-06 20:27
标签:str 文件中 depend mime aec strong ESS 启动 sub 用qq邮箱向网易邮箱发送邮件 注意:要在qq邮箱设置-->账户下,开启以下两种服务 异步任务、邮件任务与定时任务,soscw.com" target="_blank">SpringBoot(6) ------>异步任务、邮件任务与定时任务 标签:str 文件中 depend mime aec strong ESS 启动 sub 原文地址:https://www.cnblogs.com/donleo123/p/14287150.html一、异步任务
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.bootgroupId>
artifactId>spring-boot-starter-mailartifactId>
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、测试
@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("
今晚7点30分,全体成员到会议室开会", 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();
}
}
三、定时任务
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) ------>异步任务、邮件任务与定时任务
文章链接:http://soscw.com/index.php/essay/61011.html