23.7 Accessing Application Arguments
如果你需要访问传递给SpringApplication.run(…)
方法的应用程序参数,你可以注入org.springframework.boot.ApplicationArguments
实例.
ApplicationArguments
接口提供了访问原始的String[]
参数解析和解析option
和non-option
参数,如以下示例所示:
import org.springframework.boot.*;
import org.springframework.beans.factory.annotation.*;
import org.springframework.stereotype.*;
@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"]
}
}
Tip
Spring Boot还向
Spring环境
注册CommandLinePropertySource
.这也能让你使用@value
注解注入单个应用程序参数.