【发布时间】:2020-08-25 12:34:16
【问题描述】:
我想在 Spring Boot 应用程序中设置 2 个属性的值,其中第二个严格基于第一个。
@Value("${main.propertyOne: 0.67}")
void setPropertyOne(float propertyOne) {
this.propertyOne = propertyOne;
}
@Value("#{${main.propertyTwo:(${main.propertyOne: 0.67} + 0.10)}}")
void setPropertyTwo(float propertyTwo) {
this.propertyTwo = propertyTwo;
}
使用这种方法,propertyOne 始终正确设置为其默认值 (0.67) 或我在属性文件中设置的值,但propertyTwo 是我在属性文件中设置的值(很好)或0.77。在实践中,它从未真正基于propertyOne 的值。
我想要的行为是:
- 如果
propertyOne设置为 0.48 而propertyTwo未设置,则默认为 0.48 + 0.10= 0.58 - 如果
propertyOne未设置,则默认为 0.67,propertyTwo默认为 0.67 + 0.10 = 0.77
这是可以做到的吗?
【问题讨论】: