激情久久久_欧美视频区_成人av免费_不卡视频一二三区_欧美精品在欧美一区二区少妇_欧美一区二区三区的

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - Java教程 - 如何使用Spring Boot ApplicationRunner解析命令行中的參數

如何使用Spring Boot ApplicationRunner解析命令行中的參數

2021-06-18 14:11jdon Java教程

這篇文章主要介紹了使用Spring Boot ApplicationRunner解析命令行中的參數,本文通過實例代碼給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下

使用spring提供的commandlinerunner接口可以實現了一個命令行應用程序。但是,參數/選項/參數處理卻不是那么好。幸運的是,有一種更好的方法可以使用spring boot編寫命令行應用程序,并且還可以使用applicationrunner接口進行解析。

在我們開始快速說明之前。在這兩種情況下,無論是commandlinerunner還是applicationrunner,都始終支持spring的屬性處理。我們可以像往常一樣使用@value注釋注入值。

完整的工作源代碼在這里

首先,我們創建一個簡單的spring boot應用程序并實現applicationrunner接口。現在,spring可以獲得我們的這個類并執行它。它類似于commandlinerunner。

我們還必須實現一個方法run,但是我們將applicationarguments 作為入參數而不是string列表。

applicationarguments區分選項參數和非選項參數。選項參數是我們可以通過spring boot屬性處理使用的(如 app.name = myapp)。它們還可以通過傳入逗號分隔列表或多次使用參數來為每個選項包含多個值。

非選項參數是我們在命令行傳遞除了vm參數的所有其他參數。

在示例中,我們將打印出我們收到的每種類型的參數,然后顯示它們。

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
@springbootapplication
public class commandlineappapplication implements applicationrunner{
  public static void main(string[] args) {
    springapplication.run(commandlineappapplication.class, args);
  }
  @override
  public void run(applicationarguments args) throws exception {
    system.out.println("# nonoptionargs: " + args.getnonoptionargs().size());
    system.out.println("nonoptionargs:");
    args.getnonoptionargs().foreach(system.out::println);
    system.out.println("# optionargs: " + args.getoptionnames().size());
    system.out.println("optionargs:");
    args.getoptionnames().foreach(optionname -> {
      system.out.println(optionname + "=" + args.getoptionvalues(optionname));
    });
  }
}

非選項參數通過getnonoptionargs()作為字符串列表重新獲得。

而對于選項參數,我們可以通過接收選項名稱getoptionnames和實際值通過getoptionvalues,它會返回一個列表字符串。

當我們現在啟動應用程序并傳遞一些參數,如:

?
1
java -jar commandline-app-0.0.1-snapshot.jar iamnonoption --app.name=cmdrulez --app.hosts=abc,def,ghi --app.name=2

上述執行的輸出:

#nonoptionargs:1個
nonoptionargs:
nonoption
#optionargs:2個
optionargs:
app.hosts = [abc,def,ghi]
app.name = [cmdrulez,2]

總結

以上所述是小編給大家介紹的使用spring boot applicationrunner解析命令行中的參數,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對服務器之家網站的支持!

原文鏈接:https://www.jdon.com/50888

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 真人一级毛片免费 | 亚洲国产精品久久久久久久久 | 久草成人在线 | 高清国产在线 | 99在线啪| 国产成人av免费观看 | 国产一区二区三区影视 | 一区视频 | 久草成人在线 | 一级免费黄视频 | 激情小说区 | 欧美精品电影一区 | 日本特级a一片免费观看 | 在线播放黄色网址 | 国产亚洲精品久久久久久久久久 | 久久久国产精品网站 | 欧美一级欧美 | 99亚洲伊人久久精品影院红桃 | 黄色片小说 | 91成人一区 | www成人在线观看 | 亚洲一区在线国产 | 成人免费观看49www在线观看 | 久久久一区二区精品 | 一区二区美女视频 | 色操网| 亚洲视频在线网 | 亚洲网站在线观看 | 性感美女一级毛片 | 欧美特黄一级高清免费的香蕉 | 日韩a毛片免费观看 | 久久精品av | 国产成人高清在线观看 | 国产精品自拍片 | 国产午夜亚洲精品理论片大丰影院 | 久久综合爱| 日本xxxx色视频在线观看免费, | 日本精品一区二区 | 日本精品中文字幕 | 欧美14一15sex性hd | 色网站综合 |