我有这样的课:

public AbstractConfig() {
    super(DataConfig.MGR_NAME);
}

DataConfig里面有:
    public final String MGR_NAME = "theManager";

我发现SpEL文档令人困惑。如果设置了弹簧配置文件,是否可以更改值?也就是说,如果我的配置文件为“AlternateManager”,则使用theManagerAlt,否则默认使用theManager

在编写此标记以获取 Activity 配置文件时,我希望可以使用下面的语法来实现此目的:
    @Value("#PROFILE['AlternateManager'] ? 'theManagerAlt' : 'theManager' ")
    public final String MGR_NAME;

最佳答案

解答:

经过大量的搜寻和游玩,终于找到了。希望这对其他人有用!这有效:

@Value("#{environment.acceptsProfiles('AlternateManager') ? 'theManagerAlt' : 'theManager' }")
String不能是final,但是我可以接受。

对我来说似乎很遗憾,这没有得到很好的记录。
这张旧票:https://jira.spring.io/browse/SPR-9037将我链接到一个旧的SO问题,该问题给了我答案。

该票证本质上是要求提供更好的文档。
IMO,每个人都应该为那张6岁的OPEN票投票。

08-27 13:55