亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

SpringBoot中@Scheduled實(shí)現(xiàn)服務(wù)啟動(dòng)時(shí)執(zhí)行一次

 更新時(shí)間:2024年08月08日 09:34:13   作者:碼至終章  
本文主要介紹了SpringBoot中@Scheduled實(shí)現(xiàn)服務(wù)啟動(dòng)時(shí)執(zhí)行一次,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧

說(shuō)到定時(shí)任務(wù),我們應(yīng)該會(huì)想起@Scheduled,Quartz以及XXL-JOB,但是有的單體服務(wù)或者小項(xiàng)目,為了方便快捷,可能會(huì)直接使用@Scheduled去實(shí)現(xiàn)異步任務(wù)。因此,從而延伸出本文的主題需求。

當(dāng)項(xiàng)目中使用@Scheduled,如何在項(xiàng)目啟動(dòng)的時(shí)候讓指定的異步任務(wù)提前執(zhí)行一次?

一、@Scheduled詳解

@Scheduled注解支持多個(gè)參數(shù),用于靈活控制任務(wù)執(zhí)行時(shí)間

cron:Cron表達(dá)式,可以精準(zhǔn)控制秒、分、小時(shí)、日、月、周等

在這里插入圖片描述

  • zone:接收一個(gè)時(shí)區(qū),比如我們一般使用的時(shí)區(qū)Asia/Shanghai,該字段我們一般留空。
  • fixedDelay:上一次執(zhí)行完畢時(shí)間點(diǎn)之后多長(zhǎng)時(shí)間再執(zhí)行。如@Scheduled(fixedDelay = 5000)
  • fixedDelayString:與 fixedDelay 意思相同,只是使用字符串的形式。唯一不同的是支持占位符,如@Scheduled(fixedDelayString = “5000”)
  • fixedRate:上一次開(kāi)始執(zhí)行時(shí)間點(diǎn)之后多長(zhǎng)時(shí)間再執(zhí)行,如@Scheduled(fixedRate = 5000)
  • fixedRateString:與 fixedRate 意思相同,只是使用字符串的形式。唯一不同的是支持占位符。
  • initialDelay:第一次延遲多長(zhǎng)時(shí)間后再執(zhí)行,如第一次延遲1秒后執(zhí)行,之后按fixedRate的規(guī)則每5秒執(zhí)行一次@Scheduled(initialDelay=1000, fixedRate=5000)
  • initialDelayString:與 initialDelayString 意思相同,只是使用字符串的形式。唯一不同的是支持占位符。

二、邏輯實(shí)現(xiàn)

1、創(chuàng)建定時(shí)任務(wù)邏輯方法

/**
 * @Author 碼至終章
 * @Version 1.0
 */
@Component
public class ScheduledTest {

    @Scheduled(cron = "* 1 * * * ?")
    public void task1() throws Exception{
        System.out.println("task1 執(zhí)行: " + Thread.currentThread() + "-" + DateTime.now());
    }
}

2、新建一個(gè)啟動(dòng)執(zhí)行類(lèi)

該類(lèi)主要在啟動(dòng)時(shí)手動(dòng)調(diào)用指定的任務(wù)方法

/**
 * @Author 碼至終章
 * @Version 1.0
 */
@Component
public class StartupTasks {

    private final ScheduledTest scheduledTasks;

    public StartupTasks(ScheduledTest scheduledTasks) {
        this.scheduledTasks = scheduledTasks;
    }

    @PostConstruct
    public void startUp() {
        try {
            System.out.println("服務(wù)啟動(dòng)執(zhí)行任務(wù)");
            scheduledTasks.task1();
        }catch (Exception e){
			e.printStackTrace();
        }
    }
}

注:?jiǎn)?dòng)類(lèi)記得自己加上@EnableScheduling,定時(shí)任務(wù) 才會(huì)執(zhí)行,當(dāng)然這個(gè)不影響本文的邏輯測(cè)試

三、測(cè)試結(jié)果

服務(wù)啟動(dòng)后,查看打印信息

在這里插入圖片描述

到此這篇關(guān)于SpringBoot中@Scheduled實(shí)現(xiàn)服務(wù)啟動(dòng)時(shí)執(zhí)行一次的文章就介紹到這了,更多相關(guān)SpringBoot 服務(wù)啟動(dòng)時(shí)執(zhí)行內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家! 

相關(guān)文章

  • Java利用Jackson輕松處理JSON序列化與反序列化

    Java利用Jackson輕松處理JSON序列化與反序列化

    Jackson?是?Java?中最流行的?JSON?處理庫(kù)之一,它提供了許多注解來(lái)簡(jiǎn)化?JSON?的序列化和反序列化過(guò)程。這篇文章將介紹一些?Jackson?常用的注解,以幫助您更輕松地處理?JSON?數(shù)據(jù)
    2023-05-05
  • JDK(免安裝)各種版本下載及配置詳細(xì)圖文教程

    JDK(免安裝)各種版本下載及配置詳細(xì)圖文教程

    這篇文章主要給大家介紹了關(guān)于JDK(免安裝)各種版本下載及配置的相關(guān)資料,文中通過(guò)圖文介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2024-07-07
  • JavaWeb項(xiàng)目中classpath路徑詳解

    JavaWeb項(xiàng)目中classpath路徑詳解

    今天小編就為大家分享一篇關(guān)于JavaWeb項(xiàng)目中classpath路徑詳解,小編覺(jué)得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧
    2018-12-12
  • Spring依賴(lài)注入多種類(lèi)型數(shù)據(jù)的示例代碼

    Spring依賴(lài)注入多種類(lèi)型數(shù)據(jù)的示例代碼

    這篇文章主要介紹了Spring依賴(lài)注入多種類(lèi)型數(shù)據(jù),本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-03-03
  • 關(guān)于SpringBoot的熱部署方案

    關(guān)于SpringBoot的熱部署方案

    這篇文章主要介紹了關(guān)于SpringBoot的熱部署方案,每次修改代碼就得將項(xiàng)目重啟,重新部署,對(duì)于一些大型應(yīng)用來(lái)說(shuō),重啟時(shí)間需要花費(fèi)大量的時(shí)間成本,本文就來(lái)詳解熱部署方案,需要的朋友可以參考下
    2023-05-05
  • Spring AOP如何自定義注解實(shí)現(xiàn)審計(jì)或日志記錄(完整代碼)

    Spring AOP如何自定義注解實(shí)現(xiàn)審計(jì)或日志記錄(完整代碼)

    這篇文章主要介紹了Spring AOP如何自定義注解實(shí)現(xiàn)審計(jì)或日志記錄(完整代碼),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-12-12
  • 關(guān)于Java創(chuàng)建線程的2種方式以及對(duì)比

    關(guān)于Java創(chuàng)建線程的2種方式以及對(duì)比

    這篇文章主要給大家介紹了關(guān)于Java創(chuàng)建線程的2種方式以及對(duì)比的相關(guān)資料,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2022-01-01
  • 用Java實(shí)現(xiàn)簡(jiǎn)單計(jì)算器功能

    用Java實(shí)現(xiàn)簡(jiǎn)單計(jì)算器功能

    這篇文章主要為大家詳細(xì)介紹了用Java實(shí)現(xiàn)簡(jiǎn)單計(jì)算器功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-07-07
  • java編程小白進(jìn)階包的作用詳解

    java編程小白進(jìn)階包的作用詳解

    這篇文章主要為大家介紹了java編程中包的作用詳解,文中通過(guò)示例分析方便大家更容易理解包的作用,有需要的朋友可以借鑒參考下,希望能夠有所幫助
    2021-10-10
  • spring?boot寫(xiě)java?web和接口

    spring?boot寫(xiě)java?web和接口

    這篇文章主要介紹了spring?boot寫(xiě)java?web和接口,Spring?Boot是由Pivotal團(tuán)隊(duì)提供的全新框架,其設(shè)計(jì)目的是用來(lái)簡(jiǎn)化新Spring應(yīng)用的初始搭建以及開(kāi)發(fā)過(guò)程,該框架使用了特定的方式來(lái)進(jìn)行配置,從而使開(kāi)發(fā)人員不再需要定義樣板化的配置,下面詳細(xì)內(nèi)容需要的小伙伴可以參考一下
    2022-01-01

最新評(píng)論