我有一些看起来像这样的代码:
@Value("#{systemProperties['TARGET_ENVIRONMENT']?: 'qa'}")
private String environment;
在我的集成测试中,此属性始终为空,我似乎无法做任何事情来定义它。我尝试在集成测试中做类似的事情,只是将目标环境属性覆盖到其他地方:
@Before
public void setUp(){
System.setProperty("TARGET_ENVIRONMENT", "I love dogs");
}
但这并没有真正成功。
@Before
public void setUp(){
System.setProperty("TARGET_ENVIRONMENT", "qa"); -> Not I love Dogs
}
@Value("$peopleSearch{key}") -> Defined as per properties file
private String peopleSearch;
@Value("$peopleSearch{address}") -> Defined as per properties file
private String address;
但这并没有真正改变任何事情。我有其他属性(如上所述),这些属性在属性文件中定义,可以正常工作并获取值,但是这个属性似乎使用了systemProperties属性,我不知道如何/在哪里修改。如何覆盖systemProperties属性?