亦余心之所善兮,虽九死其犹未悔。这篇文章主要讲述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接口】
推荐阅读
- app自动化的执行
- Android signalR
- Android9.0 Settings 修改踩坑记录
- springboot 微信支付里的app支付坑注意,requestPayment,支付报错,"errMsg":"requestPayment:fail:[payment微
- react app相关知识
- 微信中域名被封-页面添加遮罩层提示用户使用浏览器打开(或下载APP)
- create-react-app兼容ie9配置
- Spring Boot中配置文件application.properties里面配置项的引用
- 浅谈Mybatis通用Mapper使用方法_java - JAVA