Java 在另一个属性键中使用的Spring启动属性值
在我的spring boot项目中,我想在另一个属性键中使用属性值: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} 我怎么能这样做? 感谢您的帮
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
方便地进行设置
有关配置文件的更多信息,请参见官方网站