7

我有一个 application.properites 文件,其中包含以下内容:

xxx.xxx = sandbox
xxx.sandbox = 123
xxx.production = 456

我想映射到字符串值 123 以防 xxx.xxx == 沙箱和 456 以防 xxx.xxx == 生产

...
public class temp { 

 @Value("${??????}")
    private String token;
}

是否可以填写煽动的条件??????根据 xxx.xxx 将令牌映射到 123 或 456 吗?

4

2 回答 2

13

一个简单的方法,以防有人会遇到这个问题:

@Value("#{'${xxx.xxx}'=='sandbox' ? '${xxx.sandbox}' : '${xxx.production}'}")

我只是认为开始使用配置文件要容易得多。

于 2016-05-14T16:54:28.597 回答
4

您可以使用 Spring Profiles,因此您可以为每个环境创建一个属性文件。

Spring Profiles 提供了一种分离应用程序配置部分并使其仅在某些环境中可用的方法。任何@Component 或@Configuration 都可以用@Profile 标记以限制它何时加载

你可以在这里看到更多 http://www.baeldung.com/spring-profiles

http://www.mkyong.com/spring/spring-profiles-example/

https://docs.spring.io/spring-boot/docs/current/reference/html/boot-features-profiles.html

于 2016-05-10T17:00:43.347 回答