如何从 Spring Boot 设置任意 system.property?



如果我按java jar -Dsomething=anything thejar.jar运行我的应用程序,那么我已经设置了一个系统属性。

我可以通过 Spring 引导配置文件执行此操作,还是我定义一个读取属性然后从中设置系统属性的 @Configuration 类的唯一选择?

Spring 配置非常灵活,并提供了用于解析配置属性的层次结构。您可以使用 spring 配置服务器、环境变量(我的首选方法(、系统属性、application.yaml/propteries 等来设置属性。查看有关外部化配置的文档

假设您要设置一个属性:app.some.property=foo。您可以使用值注释从任何 Bean 访问此属性:

@Value("${app.some.property}")
private String someProperty;

然后,您可以使用上面定义的方法之一在运行时设置它:

1. 系统属性

java -jar -Dapp.some.property=foo thejar.jar

2. 环境变量

export APP_SOME_PROPERTY="foo"
java -jar thejar.jar

最新更新