1.注入 ApplicationArguments applicationArguments;可采用以下形式但不限于一下形式:
//1.
@Resource
private ApplicationArguments applicationArguments;
//2.
方法( ApplicationArguments applicationArguments)
2.相关api
boolean debug = applicationArguments.containsOption("debug");
boolean port = applicationArguments.containsOption("server.port");
logger.info("containsOption debug is:{}", debug);
logger.info("containsOption port is:{}", port);
System.out.println(port);
// 获取args中的所有 non option 参数 获得不是 -- 开头的参数
List<String> nonOptionArgs = applicationArguments.getNonOptionArgs();
logger.info("getNonOptionArgs :{}", nonOptionArgs);
// 获取args中所有的 option参数的name,即取得 -- 开头的参数的key
Set<String> optionNames = applicationArguments.getOptionNames();
logger.info("getOptionNames:{}", optionNames);
for (String optionName : optionNames) {
List<String> optionValues = applicationArguments.getOptionValues(optionName);
logger.info("{}对应的getOptionValues:{}",optionName, optionValues);
}
// 获取传递给应用程序的原始未处理参数,所有的参数
String[] sourceArgs = applicationArguments.getSourceArgs();
for (String sourceArg : sourceArgs) {
logger.info("这是传过来sourceArgs[{}]", sourceArg);
}