一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

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

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在线观看国产 | 午夜网 | 97香蕉超级碰碰碰久久兔费 | 男老头澡堂gay老头456 | 80日本xxxxxxxxx96| 亚洲热图| 四虎影视免费观看免费观看 | 国产探花视频在线观看 | 韩国悲惨事件30无删减在线 | 国产爱啪啪 | 超碰成人在线播放 | 久久永久视频 | 色色色资源站 | 大陆性出航| 欧美18-19sex性处 | 双性np玩烂了np欲之国的太子 | 四虎免费影院4hu永久免费 | 成年人在线视频免费观看 | 白丝爆动漫羞羞动漫网站 | 好男人资源大全免费观看 | 日韩香蕉视频 | 91夜色视频| 北条麻妃一区 | 男人插曲女人下面 | 久久青草费线频观看国产 | 日韩欧美一区二区三区免费看 | 亚洲高清国产拍精品动图 | 国产馆在线观看免费的 | 亚洲欧美综合在线观看 | 国产精品麻豆免费版 | 午夜私人影院在线观看 视频 | 亚洲精品第二页 | 91yellow吧字幕网zmff7 | 国产亚洲综合精品一区二区三区 | a片毛片在线免费看 | 教室里老师好紧h |