@Value("${test.v1:hello}")
private String testV1;
@Value("${test.v2:${test.v1}}")
private String testV2;
当未配置test.v2时,我希望testV2与testV1相同。 @Value是否支持让默认值引用另一个@Value?
答案 0 :(得分:0)
作为替代,您可以使用“ +”操作数。
@Value("${test.v1:hello}")
private String testV1;
@Value("${test.v2:}" + "${test.v1}")
private String testV2;
答案 1 :(得分:0)
@PostConstruct
public void postConstruct() {
if (StringUtils.isEmpty(testV2) {
testV2 = testV1;
}
}
答案 2 :(得分:0)
我认为您最好的办法是在application.properties文件中定义test.v2=${test.v1}
。这样,如果您通过其他方式(例如环境变量)覆盖test.v2的值,则它将具有已定义的值,否则,它将具有test.v1的值。