使用命令行参数覆盖spring-boot中的yml配置

sal*_*dor 7 java configuration spring spring-boot

我有一个配置了yml文件的spring-boot应用程序.执行jar时是否可以覆盖这些属性?例如,假设我将yml文件中的输入变量设置为user1,我想用user2执行jar.可以这样做吗?

java -jar --input=user2
Run Code Online (Sandbox Code Playgroud)

eis*_*eis 4

要详细说明cLyric 的答案,您可以这样做:

java -jar yourapp.jar --input=user2
Run Code Online (Sandbox Code Playgroud)

或者如果你想使用 json 提供,你可以这样做

java -jar yourapp.jar --spring.application.json='{"input":"user2"}'
Run Code Online (Sandbox Code Playgroud)

或者如果你使用的是unix/linux,

SPRING_APPLICATION_JSON='{"input":"user2"}' java -jar yourapp.jar 
Run Code Online (Sandbox Code Playgroud)