最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

使用SpringBoot中的Schedule定時(shí)發(fā)送郵件的方法

 更新時(shí)間:2023年08月08日 09:28:58   作者:DaenCode  
在SpringBoot中,你可以使用@Scheduled注解來創(chuàng)建定時(shí)任務(wù),@Scheduled注解可以應(yīng)用于方法上,表示這個(gè)方法是一個(gè)定時(shí)任務(wù),可以根據(jù)指定的時(shí)間間隔或固定時(shí)間執(zhí)行,本文就給大家介紹一下如何使用SpringBoot中的Schedule定時(shí)發(fā)送郵件,需要的朋友可以參考下

思維導(dǎo)圖

介紹

  • 基本概念:定時(shí)任務(wù)從字面不難看出,定時(shí)任務(wù)意思就是定時(shí)處理某種任務(wù)。
  • 使用場(chǎng)景:比如說定時(shí)發(fā)送郵件、消息提醒等等。
  • 常見的定時(shí)任務(wù):Java.util.TImer、Quartz2、SpringBoot中的Schedule。

本文的主要內(nèi)容以springboot中的Schedule為例,來帶大家看看如何使用其做定時(shí)任務(wù)。

必不可少的注解

@EnableScheduling :用于標(biāo)識(shí)啟動(dòng)類開啟定時(shí)任務(wù)。

@Component :用于標(biāo)識(shí)定時(shí)任務(wù)類,讓Spring掃描其為組件。

@Scheduled :用戶標(biāo)識(shí)在定時(shí)任務(wù)方法上,配置定時(shí)的規(guī)則。

入門案例

啟動(dòng)類添加@EnableScheduling

啟動(dòng)類添加@EnableScheduling負(fù)責(zé)開啟定時(shí)任務(wù)功能。

@SpringBootApplication
@MapperScan("com.shoanjen.redis.mapper")
@EnableScheduling
public class RedisApplication {
	public static void main(String[] args) {
		SpringApplication.run(RedisApplication.class, args);
	}
}

定義定時(shí)任務(wù)類

定義定時(shí)任務(wù)類,并標(biāo)注@Component注解。

定義定時(shí)任務(wù)方法并標(biāo)識(shí)@Schduled注解,每隔5秒在控制臺(tái)輸出日志。其中@Schedule參數(shù)如下

參數(shù)描述
cron指定一個(gè)Cron表達(dá)式,用于精確控制任務(wù)的執(zhí)行時(shí)間
zone指定用于解析Cron表達(dá)式的時(shí)區(qū),默認(rèn)為服務(wù)器的默認(rèn)時(shí)區(qū)
fixedDelay指定任務(wù)結(jié)束后的延遲時(shí)間(毫秒),用于控制下一次任務(wù)執(zhí)行的間隔
fixedDelayStringfixedDelay類似,但可以使用字符串表示延遲時(shí)間
fixedRate指定任務(wù)開始執(zhí)行后的間隔時(shí)間(毫秒),用于控制連續(xù)任務(wù)之間的間隔
fixedRateStringfixedRate類似,但可以使用字符串表示間隔時(shí)間
initialDelay指定任務(wù)首次執(zhí)行前的延遲時(shí)間(毫秒)
initialDelayStringinitialDelay類似,但可以使用字符串表示延遲時(shí)間

有關(guān)于Cron表達(dá)式的配置可以參考此網(wǎng)址:Cron小工具

在這里插入圖片描述

@Component
public class ScheduleService {
    @Scheduled(fixedRate = 5000)
    //@Scheduled(fixedDelay = 5000)
    public void scheduleConsole(){
        System.out.println("定時(shí)任務(wù)要開始了喲?。。?!");
    }
}

效果

在這里插入圖片描述

定時(shí)發(fā)送郵件

引入相關(guān)依賴

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

126郵箱配置

1.開啟POP3/SMTP服務(wù)

在這里插入圖片描述

在這里插入圖片描述

2.點(diǎn)擊開啟后,會(huì)發(fā)送短信獲取授權(quán)碼,注意要保存授權(quán)碼只顯示一次?。。。?/p>

在這里插入圖片描述

修改項(xiàng)目配置文件

spring.mail.host=smtp.126.com
spring.mail.username=XXXXXX@126.com
spring.mail.password=這里就是你剛剛的授權(quán)碼喲!

編寫定時(shí)任務(wù)方法

在這里就舉一個(gè)簡(jiǎn)單的發(fā)送驗(yàn)證碼例子來進(jìn)行演示。下方類中的定時(shí)任務(wù)方法用來 每天21:34定時(shí)向郵件發(fā)送驗(yàn)證碼的功能 。

@Component
public class ScheduleService {
    @Autowired
    private JavaMailSender mailSender;
    @Scheduled(cron = "0 34 21 * * ?")
    public void scheduleMailTo(){
        SimpleMailMessage message = new SimpleMailMessage();
        //隨機(jī)驗(yàn)證碼
        Random random=new Random();
        int code=random.nextInt(9999)+1;
        // 發(fā)件人,配置文件中的郵件地址
        message.setFrom("xxxxx@126.com");
        // 收件人
        message.setTo("xxxxx@163.com");
        //設(shè)置郵件標(biāo)題
        message.setSubject("注冊(cè)驗(yàn)證碼");
        // 郵件內(nèi)容
        message.setText("Hello歡迎使用xxx系統(tǒng),您的注冊(cè)驗(yàn)證碼為"+code);
        mailSender.send(message);
        System.out.println("郵件發(fā)送已完成哦!??!");
    }
}

最終效果

最終效果請(qǐng)查看紅框!

在這里插入圖片描述

寫在最后

有關(guān)于SpringBoot中Schedule定時(shí)任務(wù)的方法到此就結(jié)束啦,希望對(duì)閱讀本文的你們有幫助哦。同時(shí)有疑問可以在評(píng)論區(qū)留言,謝謝大家!

以上就是使用SpringBoot中的Schedule定時(shí)發(fā)送郵件的方法的詳細(xì)內(nèi)容,更多關(guān)于SpringBoot Schedule定時(shí)發(fā)送郵件的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

最新評(píng)論

丹阳市| 临江市| 沅陵县| 商水县| 营山县| 西乌珠穆沁旗| 秭归县| 顺平县| 赤城县| 孟连| 乐陵市| 綦江县| 德保县| 黄石市| 凤城市| 加查县| 岱山县| 雷山县| 阿拉善右旗| 朝阳市| 东莞市| 仪陇县| 赞皇县| 诏安县| 蓝田县| 浦城县| 高州市| 西青区| 兖州市| 赤城县| 阿尔山市| 绥宁县| 会宁县| 安达市| 冕宁县| 阿图什市| 调兵山市| 界首市| 青阳县| 盱眙县| 平远县|