1、定时器配置

本人springboot版本为2.2.5,不用额外配置pom.xml及applicaiton.properties属性,直接全注解形式实现,下面用一个简单的实例演示一下:

/**@Component注解使该类能被spring容器扫描到,并实例化为bean存储起来;@EnableScheduling注解代表开启定时器功能
*/
@Component
@EnableScheduling
public class QuartzTask {//@Scheduled注解用在方法上,表示该方法启动定时器功能,cron代表定时器模式@Scheduled(cron = "*/30 * * * * *")public void quartzTest(){System.out.println("定时器启动成功!");}
}

简单几个注解就能实现定时器功能,非常方便。
附上cron常见语法及配置方式:

Cron表达式使用格式:
Seconds Minutes Hours   DayofMonth  Month   DayofWeek   [Year]秒          分        时          天         月         周         [年]每个符号代表的含义:
1.*:匹配该域的任意值;如*用在分所在的域,表示每分钟都会触发事件。
2.?:匹配该域的任意值。
3.-:匹配一个特定的范围值;如时所在的域的值是10-12,表示10、11、12点的时候会触发事件。
4.,:匹配多个指定的值;如周所在的域的值是2,4,6,表示在周一、周三、周五就会触发事件(1表示周日,2表示周一,3表示周二,以此类推,7表示周六)。
5./:左边是开始触发时间,右边是每隔固定时间触发一次事件,如秒所在的域的值是5/15,表示5秒、20秒、35秒、50秒的时候都触发一次事件。
6.L:last,最后的意思,如果是用在天这个域,表示月的最后一天,如果是用在周所在的域,如6L,表示某个月最后一个周五。(外国周日是星耀日,周一是月耀日,一周的开始是周日,所以1L=周日,6L=周五。)
7.W:weekday,工作日的意思。如天所在的域的值是15W,表示本月15日最近的工作日,如果15日是周六,触发器将触发上14日周五。如果15日是周日,触发器将触发16日周一。如果15日不是周六或周日,而是周一至周五的某一个,那么它就在15日当天触发事件。
8.#:用来指定每个月的第几个星期几,如6#3表示某个月的第三个星期五。实用的例子 表达式 含义
“0 0 12 * * ?”  每天12:00触发事件
“0 15 10 ? * *”  每天10:15触发事件
“0 15 10 * * ?” 每天10:15触发事件
“0 15 10 * * ? *”   每天10:15触发事件
“0 15 10 * * ? 2005″    2005年的每天10:15触发事件
“0 * 14 * * ?”  每天14点开始触发,每分钟触发一次,14:59分结束
“0 0/5 14 * * ?”    每天14点开始触发到14:59分结束的每5分钟触发一次事件
“0 0/5 14,18 * * ?” 每天14点开始到14:59期间和18点到18:59期间的每5分钟触发一次事件
“0 0-5 14 * * ?”    每天14点到14:05期间的每1分钟触发一次事件
“0 10,44 14 ? 3 WED”    每年3月的星期三的14:10和14:44触发一次事件
“0 15 10 ? * MON-FRI”   周一至周五的10:15触发一次事件
“0 15 10 15 * ?”    每月15日10:15触发一次事件
“0 15 10 L * ?” 每月最后一日的10:15触发一次事件
“0 15 10 ? * 6L”    每月的最后一个星期五10:15触发一次事件
“0 15 10 ? * 6L 2002-2005″  2002年至2005年的每月的最后一个星期五10:15触发一次事件
“0 15 10 ? * 6#3″   每月的第三个星期五10:15触发一次事件
2、发送邮件配置

1)配置pom依赖:

<!--  配置邮件 -->
<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-mail</artifactId>
</dependency>

2)配置application.properties文件:

#邮件的配置
spring.mail.host=smtp.qq.com
spring.mail.username=发件人的邮件
spring.mail.password=密码,注意不是邮箱的登录密码,AUTH。
spring.mail.default-encoding=UTF-8
spring.mail.properties.mail.smtp.auth=true
spring.mail.properties.mail.smtp.starttls.enable=true
spring.mail.properties.mail.smtp.starttls.required=true

3)编写邮件工具类:

//@Component加上该注解,spring容器可以扫描到并注入到容器中
@Component
public class MailSendUtil {//自动装配JavaMailSender对象,该类在导入的依赖中@Autowiredprivate JavaMailSender mailSender;//自动读取application.properties文件中的spring.mail.username值并赋予from变量。@Value("${spring.mail.username}")private String from;public void sendMail(){try {MimeMessage mimeMessage = mailSender.createMimeMessage();MimeMessageHelper mimeMessageHelper = new MimeMessageHelper(mimeMessage);//设置发件人mimeMessageHelper.setFrom(from);//设置收件人mimeMessageHelper.setTo("1234569@qq.com");//设置邮件标题mimeMessageHelper.setSubject("今日股市分析:");//设置邮件正文mimeMessageHelper.setText("今天是6月19日,今天股市大涨,中兴涨幅超过5%");//发送邮件mailSender.send(mimeMessage);} catch (MessagingException e) {e.printStackTrace();}}}

4)定时器发送邮件:

@Component
@EnableScheduling
public class QuartzTask {@Autowiredprivate MailSendUtil mailSendUtil;//每隔30秒发送一次邮件@Scheduled(cron = "*/30 * * * * *")public void quartzTest(){mailSendUtil.sendMail();System.out.println("发送邮件成功!");}
}

以上就是一个简单的通过定时器发送邮件的小例子雏形,浅显易懂,有时学习一样技术或者一个知识点并非要先把它想得太复杂,先从最简单的入手,实现了功能,再根据实际需求去深入研究其他高层次的应用,愿与你我共勉~~~~

原博文地址:http://www.54gwz.cn/article/1592551192

springboot使用定时器及发送邮件相关推荐

  1. springboot拦截异常信息发送邮件提醒

    springboot拦截异常信息发送邮件提醒 参考文章: (1)springboot拦截异常信息发送邮件提醒 (2)https://www.cnblogs.com/SimonHu1993/p/1091 ...

  2. SpringBoot整合SpringEmail 批量发送邮件

    SpringBoot整合SpringEmail 批量发送邮件 前言:公司目前有个业务就是向订阅了客户发送邮件,所以我把这块的内容记录下来 1.引入依赖 <!-- email--><d ...

  3. SpringBoot实现qq邮箱发送邮件

    SpringBoot实现qq邮箱发送邮件 一.导入springboot提供的依赖 二.在配置文件中设置邮箱信息 设置邮箱 三.设置邮件内容等 四.设置发送邮箱为单独的线程操作 一.导入springbo ...

  4. Springboot实现定时器quartz应用举例。

    上一篇中我们说明了Springboot实现定时器quartz中文文档说明, 在开写主要内容前,我们来说明其他方式. 两者都是针对较简单的情况下.其一是,SpringBoot自带定时注解.其二是,定时线 ...

  5. springboot实战,实现发送邮件,gmail邮件,包括发送附件还有正文,以及注意覆盖问题

    springboot实现发送邮件,gmail邮件,包括发送附件还有正文,以及注意覆盖问题 复盘下前个把月前写的个关于邮件激活的接口,踩了些坑,就当记录下 前言 `需求:发送邮件审核,点击邮件链接之后, ...

  6. [SpringBoot实战系列]实现发送邮件API/发件人中文别名

    前言 由于价格监控项目的需求,实现了一个小的邮件发送接口服务,使用了一个单独的SpringBoot项目,给他取名为spring-mail-sender,开源在了Github上.内部我给他命名为提醒服务 ...

  7. 【SpringBoot】整合mail发送邮件

    大家在平时浏览网页的时候会经常看到这样的功能,在用户注册时需要发送手机验证码,或者邮箱验证码,那么这种功能是如何实现的呢? 验证码一般会有两种: 手机验证码:需要在第三方平台购买,要花钱的 邮箱验证码 ...

  8. springboot实现多线程定时发送邮件

    一.资料参考 SpringBoot异步处理任务 SpringBoot整合邮件发送 SpringBoot之定时任务详解 有了这些资料便可以非常快速的实现这一功能 . 那现在就开始吧 二.添加异步任务 众 ...

  9. spring-boot使用Scheduled定时发送邮件

    spring-boot使用Scheduled定时任务 1.导入邮箱依赖 <!-- 邮件依赖--><dependency><groupId>org.springfra ...

最新文章

  1. 《JavaScript编程实战》
  2. FPGA设计——图像处理(Sobel边缘检测)
  3. python的难点_汇总Python初学者常见的学习难点
  4. 理解VMware虚拟机下网络连接的三种模式
  5. 利用iconv进行文件编码批量原地转换
  6. 效能改进之项目例会导入实践
  7. 用c语言实现单链表的初始化,建表,查找,求长度,插入,删除等操作,【YTU+2430+C语言习题+链表建立+插入+删除+输(5)...
  8. 前端学习(3112):react-hello-复习相关知识
  9. arm linux漏洞,GitHub - armjirawat/linux-kernel-exploits: linux-kernel-exploits Linux平台提权漏洞集合...
  10. Vim编辑器运用的五个技巧
  11. 浅谈FMA与SMA(test)
  12. 两种实现视频倍速播放的方法(视频播放器倍速1.5x/2x)
  13. php 威盾加密解密,解析php加密解密混淆的手段,如 phpjm,phpdp神盾,php威盾
  14. wps转换成word如何实现?不妨试试这两个小技巧
  15. android 阅读器自动滚动,在Android手机上实现阅读器翻页效果.doc
  16. C++程序设计课程设计报告——自助点餐系统
  17. matlab中solve解方程,怎么用Matlab解方程?
  18. Excel 恢复默认行高、列宽
  19. jquery验证手机号码和固定电话号码
  20. 巴黎不哭!十亿数据精准扫描,帮卡西莫多重新找回他的玫瑰花窗

热门文章

  1. Android——Intent动作汇总(转)
  2. Vista下硬盘管理
  3. Windows 7 几个小问题的解决方法(二)
  4. 【指标导出】指标原始数据导出流程
  5. 【事故反演】配置过程(变位)
  6. 每日一程-10.五种基本随机数测试-续
  7. 50代码HTML5 Canvas 3D 编辑器优雅搞定
  8. B-Tree与B+Tree的区别
  9. Maven--传递性依赖和依赖范围
  10. 输入一个整数,输出该数二进制表示中1的个数。其中负数用补码表示