Spring Boot通过ApplicationArguments获取args参数
在具体使用Spring Boot的过程中,如果需要获得SpringApplication.run(args)方法传递的参数,那么可通过ApplicationArguments接口来获得。
使用方法非常简单,只用在需要获得参数的类中直接注入ApplicationArguments即可,如下代码:
@Component
public class ArgsBean {
@Resource
private ApplicationArguments arguments;
public void printArgs() {
System.out.println("# 非选项参数数量: " + arguments.getNonOptionArgs().size());
System.out.println("# 选项参数数量: " + arguments.getOptionNames().size());
System.out.println("# 非选项参具参数:");
arguments.getNonOptionArgs().forEach(System.out::println);
System.out.println("# 选项参数具体参数:");
arguments.getOptionNames().forEach(optionName -> {
System.out.println("--" + optionName + "=" + arguments.getOptionValues(optionName));
});
}
}
测试代码(Spring Boot入口类方法中调用):
public static void main(String[] args) {
SpringApplication app = new SpringApplication(SpringLearnApplication.class);
ConfigurableApplicationContext context = app.run(args);
ArgsBean bean = context.getBean(ArgsBean.class);
bean.printArgs();
}
执行程序,即可打印出对应的参数信息。其中run方法的参数分为选项参数和非选项参数。
关注公众号:程序新视界,一个让你软实力、硬技术同步提升的平台
除非注明,否则均为程序新视界原创文章,转载必须以链接形式标明本文链接