ApplicationRunner 和 CommandLineRunner 功能一致,用法也基本一致,唯一的區別主要體現在對參數的處理上,ApplicationRunner 可以接收更多類型的參數(ApplicationRunner 除了可以接收 CommandLineRunner 的參數之外,還可以接收 key/value形式的參數)。
這是我另一篇CommandLineRunner
https://www.cnblogs.com/fernfei/p/12090763.html
一、創建MyApplicationRunner類實現ApplicationRunner接口
二、重寫run()方法並接收更多具體參數
//args.getSourceArgs();則表示獲取命令行中的所有參數。
String[]sourceArgs=args.getSourceArgs();
System.out.println("sourceArgs1>>>>>>>>>>"+Arrays.toString(sourceArgs));
//args.getNonOptionArgs();可以用來獲取命令行中的無key參數(和CommandLineRunner一樣)。
List<String>nonOptionArgs=args.getNonOptionArgs();
System.out.println("nonOptionArgs1>>>>>>>>>>>"+nonOptionArgs);
//args.getOptionNames();可以用來獲取所有key/value形式的參數的key。
Set<String>optionNames=args.getOptionNames();
System.out.println(">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>");
for(StringoptionName:optionNames){
//args.getOptionValues(key));可以根據key獲取key/value形式的參數的value。
System.out.println(optionName+">>>>>>>>>>"+args.getOptionValues(optionName));
}
System.out.println("\n");
System.out.println(">>>>>>>>>>>>>>>>>applicationrunner1結束>>>>>>>>>>>>>>>>>>>>>>>");
三、項目打包,命令行傳參數
D:\IdeaProjects\interceptordemo\target>java -jar demo-0.0.1-SNAPSHOT.jar --name=hufei hufei www.baidu.com
demo-0.0.1-SNAPSHOT.jar 這個是項目打包的jar包
四、效果圖