如果需要获取传递给 SpringApplication.run(…) 的应用参数,你可以注入一个 org.springframework.boot.ApplicationArguments 类型的bean。ApplicationArguments 接口即提供对原始 String[] 参数的访问,也提供对解析成 option 和 non-option 参数的访问:
@Component
public class MyBean {
@Autowired
public MyBean(ApplicationArguments args) {
boolean debug = args.containsOption("debug");
List<String> files = args.getNonOptionArgs();
// if run with "--debug logfile.txt" debug=true, files=["logfile.txt"]
}
}