【发布时间】:2016-08-19 03:18:07
【问题描述】:
我的spring-boot 应用程序可以从command line 运行,arguments 作为参数传递。
我想设置我的main method,这样如果用户将“a”作为参数传递:任务 A 就会运行。如果他们将“b”作为参数传递,则运行任务 B。
我目前正在使用:
if(args.toString().contains("a")){
//run task A
}
有没有更好的方法来做到这一点/上面的实现是否正确?
完整的 Runner 类:
@Component
public class MyRunner implements CommandLineRunner {
//other code
@Override
@Transactional
public void run(String... args) throws Exception {
if(args.toString().contains("a")){
//run task A
}
if(args.toString().contains("b")){
//run task B
}
}
}
【问题讨论】:
-
我会检查 stackoverflow.com/questions/367706/… 以获得更好的方法来解析传入的参数。因为你这样做的方式会有很多误报。例如。如果用户将“篮子”作为参数传递怎么办...
-
看到这个Java Command line arguments issue。这是重复的。
标签: java arrays spring arguments main