Skip to main content

23.7. Accessing Application Arguments

23.7 访问应用参数

如果需要获取传递给SpringApplication.run(…)的应用参数,你可以注入一个org.springframework.boot.ApplicationArguments类型的bean。ApplicationArguments接口即提供对原始String[]参数的访问,也提供对解析成optionnon-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"]
}

}

Spring Boot也会注册一个包含Spring Environment属性的CommandLinePropertySource,这就允许你使用@Value注解注入单个的应用参数。