ApplicationRunner接口

Posted 鼓捣猫腻

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ApplicationRunner接口相关的知识,希望对你有一定的参考价值。

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包

   

   

四、效果图

   

   

   

以上是关于ApplicationRunner接口的主要内容,如果未能解决你的问题,请参考以下文章

SpringBoot之ApplicationRunner接口和@Order注解

Spring Boot - ApplicationRunner && CommandLineRunner扩展接口

Spring Boot - ApplicationRunner && CommandLineRunner扩展接口

SpringBoot的ApplicationRunner

102. Spring Boot之CommandLineRunner和ApplicationRunner

Spring Boot 2 - 使用CommandLineRunner与ApplicationRunner