博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
SpringBoot-Web-异步、定时、邮件任务
阅读量:269 次
发布时间:2019-03-01

本文共 2992 字,大约阅读时间需要 9 分钟。

异步任务

按照调用顺序执行任务

在这里插入图片描述

开启异步任务

@Async 在异步任务上使用异步注解

@EnableAsync 在主程序上开启异步注解功能
在这里插入图片描述

定时任务

在要定时执行的的方法上通过@Scheduled,写好corn表达式,指定定时任务执行的频率

  • 不要其他方式的调用,写好corn表达式,开启注解,启动主程序就可以了
@Servicepublic class MyService {
//秒 分 时 日 月 周几 @Scheduled(cron = "0 12 15 * * 0-7") public void hello(){
System.out.println("定时任务"); }}
  • 在主程序开启定时任务功能
//开启基于注解的定时任务@EnableScheduling @SpringBootApplicationpublic class Springboot05Application {
public static void main(String[] args) {
SpringApplication.run(Springboot05Application.class, args); }}

常用的corn表达式

(1)0/2 * * * * ?   表示每2秒 执行任务(1)0 0/2 * * * ?   表示每2分钟 执行任务(1)0 0 2 1 * ?   表示在每月的1日的凌晨2点调整任务(2)0 15 10 ? * MON-FRI   表示周一到周五每天上午10:15执行作业(3)0 15 10 ? 6L 2002-2006   表示2002-2006年的每个月的最后一个星期五上午10:15执行作(4)0 0 10,14,16 * * ?   每天上午10点,下午2点,4点(5)0 0/30 9-17 * * ?   朝九晚五工作时间内每半小时(6)0 0 12 ? * WED   表示每个星期三中午12点(7)0 0 12 * * ?   每天中午12点触发(8)0 15 10 ? * *   每天上午10:15触发(9)0 15 10 * * ?     每天上午10:15触发(10)0 15 10 * * ?   每天上午10:15触发(11)0 15 10 * * ? 2005   2005年的每天上午10:15触发(12)0 * 14 * * ?     在每天下午2点到下午2:59期间的每1分钟触发(13)0 0/5 14 * * ?   在每天下午2点到下午2:55期间的每5分钟触发(14)0 0/5 14,18 * * ?     在每天下午2点到2:55期间和下午6点到6:55期间的每5分钟触发(15)0 0-5 14 * * ?   在每天下午2点到下午2:05期间的每1分钟触发(16)0 10,44 14 ? 3 WED   每年三月的星期三的下午2:10和2:44触发(17)0 15 10 ? * MON-FRI   周一至周五的上午10:15触发(18)0 15 10 15 * ?   每月15日上午10:15触发(19)0 15 10 L * ?   每月最后一日的上午10:15触发(20)0 15 10 ? * 6L   每月的最后一个星期五上午10:15触发(21)0 15 10 ? * 6L 2002-2005   2002年至2005年的每月的最后一个星期五上午10:15触发(22)0 15 10 ? * 6#3   每月的第三个星期五上午10:15触发

链接: .

邮件任务

发送一个简单邮件

  1. 导入依赖
org.springframework.boot
spring-boot-starter-mail
  1. 编写配置文件 application.properties
spring.mail.username=2500813866@qq.comspring.mail.password=kxhfocyyrnmuecif#qq就qq.com#网易就163.com#新浪就sina.comspring.mail.host=smtp.qq.com# 如果使用qq,还需要开启加密验证,其他的邮箱不需要# 键值对 mail.smtp.ssl.enable:truespring.mail.properties.mail.smtp.ssl.enable=true
  1. 注入一个邮箱发送实现类(不需要自己编写),添加邮箱标、内容和发送人
class MyMail {
@Resource JavaMailSenderImpl mailSender; @Test void sendmail() {
//kxhfocyyrnmuecif SimpleMailMessage simpleMailMessage = new SimpleMailMessage(); simpleMailMessage.setSubject("你好"); simpleMailMessage.setText("这是一封邮件的内容"); simpleMailMessage.setTo("2440545145@qq.com"); simpleMailMessage.setFrom("2500813866@qq.com"); mailSender.send(simpleMailMessage); }}

在这里插入图片描述

发送一个复杂邮件(携带附件)

  • 基于简单邮件的1和2不用更改
@Test    void sendMail() throws MessagingException {
MimeMessage mimeMessage = mailSender.createMimeMessage(); //组装 MimeMessageHelper helper = new MimeMessageHelper(mimeMessage, true); //正文 helper.setSubject("这是一封复杂的邮件"); helper.setText("

你猜我是什么颜色

",true); //附件 helper.addAttachment("1.jpg",new File("C:\\Users\\Desktop\\clipboard.png")); //目的邮箱和发送邮箱 helper.setTo("2440545145@qq.com"); helper.setFrom("2500813866@qq.com"); mailSender.send(mimeMessage); }

在这里插入图片描述

  • 可以把复杂邮件的方法封装成一个工具类

转载地址:http://gffa.baihongyu.com/

你可能感兴趣的文章