另一个属性键中使用的Spring-boot属性值

问题描述

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

true

我想根据“ server.mode”值使用相关的属性键server.protocol。{value}

我该怎么做? 感谢您的帮助

解决方法

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

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

project structure

application-dev.properties

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

application-prod.properties

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

然后,您必须通过在spring.profiles.active属性中进行设置来告诉spring boot使用哪个配置文件。当使用应用程序清单(例如Cloud Foundry或Kubernetes)部署到云时,通过环境变量SPRING_PROFILES_ACTIVE进行设置很方便。

有关个人资料的更多信息,请参见官方spring-boot documentation

,

这可以通过以下格式来实现,同时在使用它的代码(或对应的xml)中获取值:

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