07、SpringBoot中的ApplicationArgume
2019-06-16 本文已影响16人
Albert_Yu
如果在你的应用程序中需要访问传递给SpringApplication.run()的应用程序参数,,那么你可以注入org.springframework.boot.ApplicationArguments bean。ApplicationArguments接口提供了对原始String[]参数以及option和non option参数的访问,如下程序demo:
@RestController
@Slf4j
public class MyController {
@Autowired
private ApplicationArguments applicationArguments;
@GetMapping("/getApplicationArgs")
public String getApplicationArgs() {
// 判断从参数中解析的 option 参数是否包含指定名称的选项
boolean debug = applicationArguments.containsOption("debug");
log.warn("containsOption debug is:{}", debug);
// 获取args中的所有 non option 参数
List<String> nonOptionArgs = applicationArguments.getNonOptionArgs();
log.warn("getNonOptionArgs :{}", nonOptionArgs);
// 获取args中所有的 option参数的name
Set<String> optionNames = applicationArguments.getOptionNames();
log.warn("getOptionNames:{}", optionNames);
// 获取传递给应用程序的原始未处理参数
String[] sourceArgs = applicationArguments.getSourceArgs();
log.warn("getSourceArgs:{}", JSON.toJSONString(sourceArgs));
return "SUCCESS";
}
}
方法摘要
containsOption(String name):判断从参数中解析的 option 参数是否包含指定名称的选项
getNonOptionArgs():获取args中的所有 non option 参数
getOptionNames():获取args中所有的 option参数的name
getSourceArgs():获取传递给应用程序的原始未处理参数
getOptionValues(String name):获取args中指定name的option参数的值