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

SpringBoot中實(shí)現(xiàn)啟動(dòng)任務(wù)的實(shí)現(xiàn)步驟

 更新時(shí)間:2020年09月10日 09:28:17   作者:Asurplus、  
這篇文章主要介紹了SpringBoot中實(shí)現(xiàn)啟動(dòng)任務(wù)的實(shí)現(xiàn)步驟,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧

我們?cè)陧?xiàng)目中會(huì)用到項(xiàng)目啟動(dòng)任務(wù),即項(xiàng)目在啟動(dòng)的時(shí)候需要做的一些事,例如:數(shù)據(jù)初始化、獲取第三方數(shù)據(jù)等等,那么如何在SpringBoot 中實(shí)現(xiàn)啟動(dòng)任務(wù),一起來(lái)看看吧

SpringBoot 中提供了兩種項(xiàng)目啟動(dòng)方案,CommandLineRunner 和 ApplicationRunner

一、CommandLineRunner

使用 CommandLineRunner ,需要自定義一個(gè)類(lèi)區(qū)實(shí)現(xiàn) CommandLineRunner 接口,例如:

import org.springframework.boot.CommandLineRunner;
import org.springframework.core.annotation.Order;
import org.springframework.stereotype.Component;

/**
 * 項(xiàng)目啟動(dòng)任務(wù)類(lèi)
 */
@Component
@Order(100)
public class StartTask implements CommandLineRunner {

  @Override
  public void run(String... args) throws Exception {

  }
}

我們首先使用 @Component 將該類(lèi)注冊(cè)成為 Spring 容器中的一個(gè) Bean
然后使用 @Order(100) 標(biāo)明該啟動(dòng)任務(wù)的優(yōu)先級(jí),值越大,表示優(yōu)先級(jí)越小
實(shí)現(xiàn) CommandLineRunner 接口,并重寫(xiě) run() 方法,當(dāng)項(xiàng)目啟動(dòng)時(shí),run() 方法會(huì)被執(zhí)行,run() 方法中的參數(shù)有兩種傳遞方式

1、在 IDEA 中傳入?yún)?shù)


2、將項(xiàng)目打包,在啟動(dòng)項(xiàng)目時(shí),輸入以下命令:

java -jar demo-0.0.1-SNAPSHOT.jar hello world

二、ApplicationRunner

ApplicationRunner 與 CommandLineRunner 的用法基本一致,只是接收的參數(shù)不一樣,可以接收 key-value 形式的參數(shù),如下:

import org.springframework.boot.ApplicationArguments;
import org.springframework.boot.ApplicationRunner;
import org.springframework.core.annotation.Order;
import org.springframework.stereotype.Component;

/**
 * 項(xiàng)目啟動(dòng)任務(wù)類(lèi)
 */
@Component
@Order(100)
public class StartTask implements ApplicationRunner {

  @Override
  public void run(ApplicationArguments args) throws Exception {

  }
}

關(guān)于 run 方法的參數(shù) ApplicationArguments:

1、args.getNonOptionArgs();可以用來(lái)獲取命令行中的無(wú)key參數(shù)(和CommandLineRunner一樣)
2、args.getOptionNames();可以用來(lái)獲取所有key/value形式的參數(shù)的key
3、args.getOptionValues(key));可以根據(jù)key獲取key/value 形式的參數(shù)的value
4、args.getSourceArgs(); 則表示獲取命令行中的所有參數(shù)

傳參方式:

1、在 IDEA 中傳入?yún)?shù)


2、將項(xiàng)目打包,在啟動(dòng)項(xiàng)目時(shí),輸入以下命令:

java -jar demo-0.0.1-SNAPSHOT.jar hello world --name=xiaoming

以上就是在 SpringBoot 中實(shí)現(xiàn)項(xiàng)目啟動(dòng)任務(wù)的兩種方式,用法基本一致,主要體現(xiàn)在傳參的不同上

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

相關(guān)文章

最新評(píng)論

漯河市| 余江县| 巴中市| 林西县| 自治县| 海林市| 凤山县| 同心县| 苏尼特右旗| 浦县| 余庆县| 吉木萨尔县| 兴城市| 孝昌县| 绵阳市| 溆浦县| 南丰县| 桐乡市| 盖州市| 沧源| 哈密市| 堆龙德庆县| 鄯善县| 宣城市| 三都| 临西县| 涪陵区| 甘谷县| 济源市| 喀喇| 衡东县| 丰宁| 巨野县| 宜兰市| 温州市| 牟定县| 红桥区| 宁城县| 定南县| 吉安市| 黄骅市|