一张思维导图带你学会使用SpringBoot中的Schedule定时发送邮件

这篇具有很好参考价值的文章主要介绍了一张思维导图带你学会使用SpringBoot中的Schedule定时发送邮件。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

🧑‍💻作者名称:DaenCode
🎤作者简介:啥技术都喜欢捣鼓捣鼓,喜欢分享技术、经验、生活。
😎人生感悟:尝尽人生百味,方知世间冷暖。
📖所属专栏:SpringBoot实战

系列文章目录

标题
一文带你学会使用SpringBoot+Avue实现短信通知功能(含重要文件代码)
一张思维导图带你学会Springboot创建全局异常、自定义异常
一张思维导图带你打通SpringBoot自定义拦截器的思路
28个SpringBoot项目中常用注解,日常开发、求职面试不再懵圈
一张思维导图带你学会SpringBoot、Vue前后端分离项目线上部署

一张思维导图带你学会使用SpringBoot中的Schedule定时发送邮件,SpringBoot实战,spring boot,后端,java


思维导图

一张思维导图带你学会使用SpringBoot中的Schedule定时发送邮件,SpringBoot实战,spring boot,后端,java

🌟介绍

  • 基本概念:定时任务从字面不难看出,定时任务意思就是定时处理某种任务。
  • 使用场景:比如说定时发送邮件、消息提醒等等。
  • 常见的定时任务:Java.util.TImer、Quartz2、SpringBoot中的Schedule。

本文的主要内容以springboot中的Schedule为例,来带大家看看如何使用其做定时任务。

🌟必不可少的注解

@EnableScheduling:用于标识启动类开启定时任务。
@Component:用于标识定时任务类,让Spring扫描其为组件。
@Scheduled:用户标识在定时任务方法上,配置定时的规则。

🌟入门案例

启动类添加@EnableScheduling

启动类添加@EnableScheduling负责开启定时任务功能。

@SpringBootApplication
@MapperScan("com.shoanjen.redis.mapper")
@EnableScheduling
public class RedisApplication {

	public static void main(String[] args) {
		SpringApplication.run(RedisApplication.class, args);
	}

}

定义定时任务类

  • 定义定时任务类,并标注@Component注解。
  • 定义定时任务方法并标识@Schduled注解,每隔5秒在控制台输出日志。其中@Schedule参数如下
参数 描述
cron 指定一个Cron表达式,用于精确控制任务的执行时间
zone 指定用于解析Cron表达式的时区,默认为服务器的默认时区
fixedDelay 指定任务结束后的延迟时间(毫秒),用于控制下一次任务执行的间隔
fixedDelayString fixedDelay类似,但可以使用字符串表示延迟时间
fixedRate 指定任务开始执行后的间隔时间(毫秒),用于控制连续任务之间的间隔
fixedRateString fixedRate类似,但可以使用字符串表示间隔时间
initialDelay 指定任务首次执行前的延迟时间(毫秒)
initialDelayString initialDelay类似,但可以使用字符串表示延迟时间

有关于Cron表达式的配置可以参考此网址:Cron小工具
一张思维导图带你学会使用SpringBoot中的Schedule定时发送邮件,SpringBoot实战,spring boot,后端,java

@Component
public class ScheduleService {

    @Scheduled(fixedRate = 5000)
    //@Scheduled(fixedDelay = 5000)
    public void scheduleConsole(){

        System.out.println("定时任务要开始了哟!!!!");

    }
}

效果

一张思维导图带你学会使用SpringBoot中的Schedule定时发送邮件,SpringBoot实战,spring boot,后端,java

🌟定时发送邮件

引入相关依赖

<!-- Spring Mail依赖 -->
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-mail</artifactId>
</dependency>

126邮箱配置

1.开启POP3/SMTP服务
一张思维导图带你学会使用SpringBoot中的Schedule定时发送邮件,SpringBoot实战,spring boot,后端,java
一张思维导图带你学会使用SpringBoot中的Schedule定时发送邮件,SpringBoot实战,spring boot,后端,java
2.点击开启后,会发送短信获取授权码,注意要保存授权码只显示一次!!!!
一张思维导图带你学会使用SpringBoot中的Schedule定时发送邮件,SpringBoot实战,spring boot,后端,java

修改项目配置文件

spring.mail.host=smtp.126.com
spring.mail.username=XXXXXX@126.com
spring.mail.password=这里就是你刚刚的授权码哟!

编写定时任务方法

在这里就举一个简单的发送验证码例子来进行演示。下方类中的定时任务方法用来每天21:34定时向邮件发送验证码的功能

@Component
public class ScheduleService {
    @Autowired
    private JavaMailSender mailSender;
    @Scheduled(cron = "0 34 21 * * ?")
    public void scheduleMailTo(){
        SimpleMailMessage message = new SimpleMailMessage();
        //随机验证码
        Random random=new Random();
        int code=random.nextInt(9999)+1;
        // 发件人,配置文件中的邮件地址
        message.setFrom("xxxxx@126.com");
        // 收件人
        message.setTo("xxxxx@163.com");
        //设置邮件标题
        message.setSubject("注册验证码");
        // 邮件内容
        message.setText("Hello欢迎使用xxx系统,您的注册验证码为"+code);
        mailSender.send(message);
        System.out.println("邮件发送已完成哦!!!");
    }
}

最终效果

最终效果请查看红框!
一张思维导图带你学会使用SpringBoot中的Schedule定时发送邮件,SpringBoot实战,spring boot,后端,java

🌟写在最后

有关于SpringBoot中Schedule定时任务的方法到此就结束啦,希望对阅读本文的你们有帮助哦。同时有疑问可以在评论区留言,谢谢大家!


一张思维导图带你学会使用SpringBoot中的Schedule定时发送邮件,SpringBoot实战,spring boot,后端,java文章来源地址https://www.toymoban.com/news/detail-632843.html

到了这里,关于一张思维导图带你学会使用SpringBoot中的Schedule定时发送邮件的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 一张思维导图带你打通SpringBoot自定义拦截器的思路

    🧑‍💻作者名称:DaenCode 🎤作者简介:啥技术都喜欢捣鼓捣鼓,喜欢分享技术、经验、生活。 😎人生感悟:尝尽人生百味,方知世间冷暖。 📖所属专栏:SpringBoot实战 在开发中,都离不开拦截器的使用。比如说在开发登录功能时,采用JWT登录时通过对token进行验证实现登

    2024年02月14日
    浏览(50)
  • 一张流程图带你学会SpringBoot结合JWT实现登录功能

    🧑‍💻作者名称:DaenCode 🎤作者简介:啥技术都喜欢捣鼓捣鼓,喜欢分享技术、经验、生活。 😎人生感悟:尝尽人生百味,方知世间冷暖。 📖所属专栏:SpringBoot实战 JWT(JsonWebToken)是 一种轻量级的跨域身份验证解决方案 。通常被用于无状态身份验证机制,将用户信息签名

    2024年02月11日
    浏览(80)
  • 一张图带你学会入门级别的SpringBoot实现文件上传、下载功能

    🧑‍💻作者名称:DaenCode 🎤作者简介:啥技术都喜欢捣鼓捣鼓,喜欢分享技术、经验、生活。 😎人生感悟:尝尽人生百味,方知世间冷暖。 📖所属专栏:SpringBoot实战 标题 一文带你学会使用SpringBoot+Avue实现短信通知功能(含重要文件代码) 一张思维导图带你学会Springboot创

    2024年02月12日
    浏览(77)
  • java思维导图 - -13张思维导图带你快速入门 --

    java!!!!!!!!! 13张思维导图带你快速入门 --满满干货(建议收藏) –怒肝一周,只求一赞!!! 囊括了java大部分的知识点,今天分享给大家,希望能帮助到各位友友! 分为电脑端和手机端! 手机端隐藏了部分分支,便于观看 电脑端是完整版,根据需求自行选择。

    2024年02月02日
    浏览(68)
  • 一张图带你看完图论第五章(包含全部考点,含定义、定理、公式、推导证明和所有例题)

    付费大佬可以联系我把你们加入思维导图协作,看更加具体清楚地思维导图/敬礼 5.1 匹配 匹配(边独立集)M是G的不相邻边组成的边子集(无环) 饱和点 v是匹配M中某边的端点,则称v为M饱和点 完美匹配 G中每个顶点均为M饱和点,则M为G的完美匹配 最优匹配 在赋权完全偶图

    2024年02月09日
    浏览(55)
  • Unity一张图带你看懂Button的各种颜色设定(HighLighted、Pressed、Selected、Disabled Color)

    button会有个基础颜色,建议设定为白色,因为这个基础颜色会和后续的颜色产生一个叠加效果。 NormalColor 基础时候的颜色 HighLightedColor 当鼠标放上去时显示的颜色 Pressed Color 当鼠标按下,但是不松开时的颜色, Selected color 当鼠标按下后,选中该按钮的颜色 DisabledColor,当该按

    2024年02月11日
    浏览(60)
  • ES高频面试问题:一张图带你读懂 Elasticsearch 中“正排索引(正向索引)”和“倒排索引(反向索引)”区别

    从广义来说,doc values 本质上是一个序列化的 列式存储 。列式存储 适用于聚合、排序、脚本等操作,所有的数字、地理坐标、日期、IP 和不分词( not_analyzed )字符类型都会默认开启, 不支持 text 和 annotated_text 类型 倒排 :即 词项 = 包含当前词项的doc_id的列表 的映射。倒排

    2024年02月02日
    浏览(54)
  • 财务思维一张图

    系统研读了《肖星的财务思维课》和得到《贾宁·财务思维课》,尝试用一张最简单的图总结财务思维所学到精髓吧。 《肖星的财务思维课》 得到《贾宁·财务思维课》 附: 【清华大学】最好的财务课《商业的财务逻辑》(全7课)肖星教授 【清华大学】最好的财务课《商业

    2024年01月19日
    浏览(58)
  • 【Redis从头学 -1】17张图带你学会Redis多环境(Linux、Windows)安装与配置

    🧑‍💻作者名称:DaenCode 🎤作者简介:啥技术都喜欢捣鼓捣鼓,喜欢分享技术、经验、生活。 😎人生感悟:尝尽人生百味,方知世间冷暖。 📖所属专栏:Redis从头学 Windows下载地址 Linux下载地址 https://github.com/microsoftarchive/redis/releases https://redis.io/download/ windows下载 linux下载

    2024年02月12日
    浏览(65)
  • 一张图学会python递归函数

    递归函数属于那种“难者不会,会者不难”的事情,回想自己大学时学习递归函数的经历,简直是痛不欲生,代码里没有一行是看不懂的,但就是理解不了它是怎样运行的。 等到自己悟通了原理,就又会觉得这东西太简单了,不明白自己当初为何想不清楚。 对于递归函数,

    2023年04月09日
    浏览(38)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包