以下两张方式是相同的
$ java -jar test-0.0.1-SNAPSHOT.jar --testKey=HelloWorldFromCommandLine
$ java -DtestKey=HelloWorldFromCommandLine -jar test-0.0.1-SNAPSHOT.jar
下面来测试一下,测试代码如下:
@RequestMapping("/getEnv")
public String getEnv(@RequestParam String key){
return environment.getProperty(key);
}
@Autowired
private Environment environment;
启动参数如下:
$ java -DtestKeyFromCommandLine1=HelloWorldFromCommandLine2 -jar test-0.0.1-SNAPSHOT.jar --testKey2=HelloWorldFromCommandLine
请求如下:
$ curl -d 'key=testKey2' http://localhost:8080/getEnv
HelloWorldFromCommandLine
curl -d 'key=testKeyFromCommandLine1' http://localhost:8080/getEnv
HelloWorldFromCommandLine2
其它用处:
更改properties文件名称:
$ java -jar myproject.jar --spring.config.name=myproject
更改properties文件位置:
$ java -jar myproject.jar --spring.config.location=classpath:/default.properties,classpath:/
override.properties
不过这些都没啥实际用处,一般都是使用configserver进行配置项管理的
网友评论