SpringBoot中任务是什么/Quartz和SpringTask在Spring Boot中怎么使用/SpringBoot怎么给用户发邮件

news2024/12/23 17:20:21

写在前面
继续记录自己的SpringBoot学习之旅,这次是SpringBoot应用相关知识学习记录。若看不懂则建议先看前几篇博客,详细代码可在我的Gitee仓库SpringBoot克隆下载学习使用!

3.5.2 任务

3.5.2.1 简述

  • 定时任务是企业应用中常见的操作,如年度报表,缓存报告
  • 市面上流行定时技术有Quartz、Spring Task
  • 相关概念
    • job工作:用于定义具体执行的工作
    • 工作明细JobDetail:用于描述定时工作相关的信息
    • 触发器Trigger:用于描述触发工作的规则,通常使用cron表达式定义调度规则
    • 调度器Scheduler:用于描述工作明细与触发器的对应关系

3.5.2.2 Quartz代码操作(复杂)

  • 创建空项目
  • 添加坐标,如图![[Pasted image 20221010165102.png]]
  • 定义具体任务,如图![[Pasted image 20221010165145.png]]
  • 配置Quartz,如图![[Pasted image 20221010165215.png]]
  • 运行,则可看到每隔5秒执行一次,如图![[Pasted image 20221010165254.png]]

3.5.2.3 Task代码操作(简单)

  • 项目,用上面的
  • 开启任务定时开关,如图![[Pasted image 20221010170011.png]]
  • 任务配置及定义,如图![[Pasted image 20221010170033.png]]

3.5.3 邮件

3.5.3.1 简述

  • SMTP(Simple Mail Transfer Protocol):简单邮件传输协议,用于发送电子邮件的传输协议
  • POP3(Post Office Protocol-Version 3):用于接受电子邮件的标准协议
  • IMAP(Internal Mail Access Protocol):互联网消息协议,是POP3的替代协议

3.5.3.2 代码操作

  • 创建空项目
  • 导入坐标,如图![[Pasted image 20221010193050.png]]
  • 编写接口,如图![[Pasted image 20221010193136.png]]
  • 编写实现层,如下
@Service  
public class SendMailMessageServiceImpl implements sendMailMessageService {  
    @Autowired  
    private JavaMailSender javaMailSender;  
//    邮件发送方  自己选择邮箱地址
    private String sendPerson = "xxxx@qq.com";  
//    邮件接收方  自己选择邮箱地址
    private String acceptPerson = "xxx@163.com";  
//    邮件标题  
    private String subject = "测试邮件标题";  
//    邮件正文  
    private String context = "邮件正文";  
    @Override  
    public void sendMailMessage() {  
        SimpleMailMessage simpleMailMessage = new SimpleMailMessage();  
        simpleMailMessage.setFrom(sendPerson + "(小甜甜)");  
        simpleMailMessage.setTo(acceptPerson);  
        simpleMailMessage.setSubject(subject);  
        simpleMailMessage.setText(context);  
        javaMailSender.send(simpleMailMessage);  
    }
  • 配置yml,如下
spring:  
  mail:  
    host: smtp.qq.com  
    # 这里使用QQ邮箱来发送
    username: xxxxx@qq.com  
    # QQ邮箱设置-账户-开启SMTP后得到验证码(需用手机发验证码)
    password: xxxxxxx

3.5.3.3 代码操作(包括附件)

  • 使用项目,同上
  • 坐标,同上
  • 接口同上
  • 实现类,如下
@Service  
public class SendMailMessageServiceImpl2 implements sendMailMessageService {  
    @Autowired  
    private JavaMailSender javaMailSender;  
//    邮件发送方  
    private String sendPerson = "xxxx@qq.com";  
//    邮件接收方  
    private String acceptPerson = "xxxx@163.com";  
//    邮件标题  
    private String subject = "测试邮件标题";  
//    邮件正文  
    private String context = "<a href = ‘https://www.baidu.com’>点开有惊喜</a>";  
    @Override  
    public void sendMailMessage() {  
        try {  
            MimeMessage message = javaMailSender.createMimeMessage();  
            MimeMessageHelper messageHelper = new MimeMessageHelper(message,true);  
            messageHelper.setFrom(sendPerson + "(小甜甜)");  
            messageHelper.setTo(acceptPerson);  
            messageHelper.setSubject(subject);  
            messageHelper.setText(context,true);  
//            添加附件  
            File file = new File("D:\\Javaprogram\\javaLittlePractition\\SpringBoot\\server.log");  
            messageHelper.addAttachment(file.getName(),file);  
            javaMailSender.send(message);  
        } catch (Exception e) {  
            e.printStackTrace();  
        }  
    }  
}
  • yml配置同上
    注:
    若想更换邮件发送方,必须在yml中更改host、username和password以及邮件发送方地址

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/23524.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

多种BCN点击试剂:1426827-79-3,endo BCN-PEG4-COOH,1841134-72-2

双环[6,1,0]壬炔 (BCN) &#xff08;环丙烷环辛炔&#xff09;可以通过无铜的点击化学与叠氮化物标记的分子或生物分子反应生成稳定的三氮唑连接。同样其可以和多种不同的基团进行连接&#xff0c;包括acid&#xff0c;NHS ester&#xff0c;amine等。西安凯新生物科技有限公司…

Oracle SQL执行计划操作(7)——排序相关操作

7. 排序相关操作 该类操作和SQL语句执行计划中的排序操作相关。根据不同的具体SQL语句及其他相关因素&#xff0c;如下各操作可能会出现于相关SQL语句的执行计划。 1&#xff09;BUFFER SORT 在会话服务进程内存中对某个行源数据进行排序或其他相关操作&#xff0c;该操作最…

Vue高级篇--实现前后端分离

目录 一、安装Nodejs服务器 二、安装Npm 三、安装vue脚手架 四、使用vue脚手架搭建vue工程 五、vue工程安装需要的插件和依赖 六、安装前端的开发工具 七、使用webstorm打开vue工程 7.1 运行vue工程 八、src目录结构的介绍 一、安装Nodejs服务器 等价于我们java端的Tomcat服务…

聊聊自制的探索大全扑克牌

这是鼎叔的第四十篇原创文章。 行业大牛和刚毕业的小白&#xff0c;都可以进来聊聊。 欢迎关注本人专栏和微信公众号《敏捷测试转型》&#xff0c;大量原创思考文章陆续推出。 这是鼎叔的第四十篇原创文章。 行业大牛和刚毕业的小白&#xff0c;都可以进来聊聊。 欢迎关注…

Oracle中ALTER TABLE的五种用法(一)

首发微信公众号&#xff1a;SQL数据库运维 原文链接&#xff1a;https://mp.weixin.qq.com/s?__bizMzI1NTQyNzg3MQ&mid2247485212&idx1&sn450e9e94fa709b5eeff0de371c62072b&chksmea37536cdd40da7a94e165ce4b4c6e70fb1360d51bed4b3566eee438b587fa231315d0a5a…

(必经点)局部优化达到全局最优的最短路径算法探讨

首先&#xff0c;存在无序的点集. 记. 再记初始路径为. 于是&#xff0c;我们称以下为一次变换&#xff1a; if |C[i]-C[i1]||C[i2]-C[i3]| > |C[i]-C[i2]||C[i1]-C[i3]| {swap(C[i1],C[i2]); } 需要注意的是. 最直观的就是如下的变换&#xff1a; 我们对C上的每一点&a…

论文阅读【3】Efficient Estimation of Word Representations in Vector Space

1.概述 1.1 论文相关 题目&#xff1a;基向量空间中词表示的有效估计&#xff08;Efficient Estimation of Word Representations in Vector Space&#xff09;发表时间&#xff1a;出版&#xff1a;原文地址&#xff1a;代码 1.2 动机 2.对比模型 2.1 NNLM&#xff08;前…

表单控件绑定:checkbox表单绑定v-model

表单checkbox&#xff0c;绑定的v-model是一个布尔值&#xff0c;要么为true&#xff0c;要么为false&#xff1b;因为它是勾选&#xff0c;或者不勾选的形式&#xff1b;为true了就是勾选&#xff0c;为false了就是不勾选&#xff1b; 代码&#xff1a; <body><div …

Vue-cli3 通过配置 public 目录下的 config.js 和config.json 实现一次编译,修改生效

文章目录1.背景2.配置步骤3.小结1.背景 最近实施部门&#xff0c;有个需求就是研发人员通过vue 写完代码&#xff0c;yarn build 编译完成代码后&#xff0c;移交实施&#xff0c;通过修改public 文件夹下的 config 文件来实现修改&#xff0c;请求后台的 requestUrl 和 titil…

day10 分布式缓存

单机的 Redis 存在以下四大问题&#xff1a; 1、Redis持久化 Redis有两种持久化方案&#xff1a; RDB 持久化AOF 持久化 1.1、RDB 持久化 RDB 全称 Redis Database Backup file&#xff08;Redis数据备份文件&#xff09;&#xff0c;也被叫做 Redis 数据快照。简单来说就是把…

《500强高管谈VE》-面向STAKEHOLDERS东方企业的VM

文章出处&#xff1a;日本VE协会杂志文章翻译&#xff1a;泰泽项目部 关注泰泽&#xff1a;实现高利润企业 《500强高管谈VE》-面向STAKEHOLDERS东方企业的VM 作者&#xff1a;常务董事八木隆 本公司的日高工厂和丰浦工厂两个事业所获得了迈尔斯奖。这些都是支持企业活动的V…

无代码开发平台选型指南

一、如何选购SaaS SaaS评测网的面世&#xff0c;也原因在于有感于选型难于&#xff0c;期望可以提供更多有用的信息协助大家找出更可信赖与最合适的产品。简而言之授之以鱼、比不上授之以渔&#xff0c;接下来的系列产品该文&#xff0c;则是撷取选型的方法及避坑实战经验。 …

【大数据处理技术】第二篇 大数据存储与管理(持续更新)

文章目录第3章 分布式文件系统HDFS3.1 分布式文件系统3.1.1 计算机集群结构3.1.2 分布式文件系统的结构3.1.3 分布式文件系统的设计需求3.2 HDFS3.2.1 HDFS 简介及相关概念3.2.2 HDFS 体系结构3.2.3 HDFS 存储原理3.2.4 HDFS 数据读写过程3.2.5 HDFS 编程实践第4章 分布式数据库…

独立产品灵感周刊 DecoHack #038 - 纽约市 90 年代的街景长什么样

本周刊记录有趣好玩的独立产品设计开发相关内容&#xff0c;每周发布&#xff0c;往期内容同样精彩&#xff0c;感兴趣的伙伴可以点击订阅我的周刊。为保证每期都能收到&#xff0c;建议邮件订阅。欢迎通过 Twitter 私信推荐或投稿。产品推荐 1. 1940s.nyc - 这个网站可以看到…

Python版本机访问GEE,CoLab配置

一、本机Jupyter notebook访问GEE 首先感谢知乎这两篇文章提供的解决思路&#xff1a; Python版GEE学习笔记&#xff08;一&#xff09;-环境配置 - 知乎 GEE之Python学习——前期准备工作 - 知乎 前期尝试解决&#xff1a; 1. Anaconda 安装&#xff0c;重新创建虚拟环境…

2021年度聚合支付评级如何?

截至2022年11月15日&#xff0c;完成收单外包服务备案机构为15041家&#xff0c;其中含聚合支付类型的机构为481家。 2022年11月15日&#xff0c;中国支付清算协会正式发布了2021年度收单外包服务机构评级等级消息。显示共有包括银行和非银行支付机构在内的143家收单机构对958…

element-plus table组件单击行切换选中状态、点击高亮行、设置shift或ctrl连续多选和连续取消多选(支持多段选择)

演示效果 需求逻辑&#xff1a; 单击行切换选中状态不按住shift或者ctrl键点击一行&#xff0c;设置该行高亮&#xff0c;该行将作为起始行连续多选&#xff1a;高亮行作为起始位置&#xff0c;按住shift或者ctrl键后选中行作为结束位置&#xff0c;结束位置未勾选则连续多选…

第2-3-8章 分片上传和分片合并的接口开发-文件存储服务系统-nginx/fastDFS/minio/阿里云oss/七牛云oss

文章目录5.10 接口开发-分片上传5.10.1 分片上传介绍5.10.2 前端分片上传插件webuploader5.10.3 后端代码实现5.10.3.1 接口文档5.10.3.2 代码开发5.10.3.3 接口测试5.11 接口开发-分片合并5.11.1 FileChunkStrategy5.11.2 AbstractFileChunkStrategy5.11.3 LocalChunkServiceI…

OpenFeign源码1-环境搭建及核心类说明

0. 环境 nacos版本&#xff1a;1.4.1Spring Cloud : Hoxton.SR9&#xff08;没用2020.0.2版本后面说明&#xff09;Spring Boot &#xff1a;2.4.4Spring Cloud alibaba: 2.2.5.RELEASESpring Cloud openFeign 2.2.2.RELEASE 测试代码&#xff1a;github.com/hsfxuebao/s… 20…

WebDAV之葫芦儿·派盘+PassStore

PassStore 支持webdav方式连接葫芦儿派盘。 大家常用的qq,手机微信,新浪微博等。假如各个网址都设成同样的帐号和登陆密码,一旦某一帐户泄漏了,别的平台上的账户密码都有被撞库攻击的风险。在不一样的站点设定不一样的高韧性登陆密码才算是最安全可靠的确保,殊不知这般繁…