Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/376.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 在另一个属性键中使用的Spring启动属性值_Java_Spring_Spring Boot_Properties_Application.properties - Fatal编程技术网

Java 在另一个属性键中使用的Spring启动属性值

Java 在另一个属性键中使用的Spring启动属性值,java,spring,spring-boot,properties,application.properties,Java,Spring,Spring Boot,Properties,Application.properties,在我的spring boot项目中,我想在另一个属性键中使用属性值: server.mode=mock server.protocol.mock=http server.host.mock=my.host-mock.org ... server.protocol.prod=https server.host.prod=my.host-prod.org ... 我想根据“server.mode”值使用相关属性key server.protocol.{value} 我怎么能这样做? 感谢您的帮

在我的spring boot项目中,我想在另一个属性键中使用属性值:

server.mode=mock

server.protocol.mock=http
server.host.mock=my.host-mock.org
...

server.protocol.prod=https
server.host.prod=my.host-prod.org
...
我想根据“server.mode”值使用相关属性key server.protocol.{value}

我怎么能这样做?
感谢您的帮助

在获取代码(或相应的xml)中的值时,可以使用以下格式实现这一点:

@Value("${server.protocol.${server.mode}}")
private String mode;

您可以使用spring概要文件,其中可以为不同的部署环境设置不同的属性配置

使用属性文件,您可以为每个配置文件创建一个属性文件,然后让spring boot根据活动配置文件使用正确的属性配置

application-dev.properties

server.scheme=http
server.host=my.host-mock.org
server.scheme=http
server.host=my.host-mock.org
application-prod.properties

server.scheme=http
server.host=my.host-mock.org
server.scheme=http
server.host=my.host-mock.org
然后,您必须通过在
spring.profiles.active
属性中设置它来告诉spring boot要使用哪个配置文件。当使用应用程序清单(如cloud Foundry或Kubernetes)部署到云中时,可以通过环境变量
SPRING\u PROFILES\u ACTIVE
方便地进行设置

有关配置文件的更多信息,请参见官方网站