如何拆分 application.properties 中的属性值

Sam*_*eer 4 spring spring-boot application.properties

我想拆分 application.properties 定义的属性值并将其用作另一个属性的值。

以下是我在 application.properties 文件中的属性

test.product.release.version=2003.1
test.product.release.year=${test.product.release.version}.split('.')[0]
Run Code Online (Sandbox Code Playgroud)

我希望财产价值test.product.release.year2003

我尝试使用 split 来分割,${test.product.release.version}.split('.')[0]但是当我在控制器中获取该属性时,我仍然获得如下值2003.1.split('.')[0]

我怎样才能将其作为2003唯一?

Dea*_*ool 5

您可以直接在控制器中获取年份

@Value("#{'${test.product.release.version}'.split('[.]')[0]}")
private String year;
Run Code Online (Sandbox Code Playgroud)

版本也用同样的方法

@Value("#{'${test.product.release.version}'.split('[.]')[1]}")
private String version;
Run Code Online (Sandbox Code Playgroud)

以同样的方式,您也可以在属性文件中指定此表达式

test.product.release.version=2003.1
test.product.release.year="#{'${test.product.release.version}'.split('[.]')[0]}"
test.product.release.version="#{'${test.product.release.version}'.split('[.]')[1]}"
Run Code Online (Sandbox Code Playgroud)

然后用@Valuetest.product.release.year

@Value("${test.product.release.year}")
private String value;
Run Code Online (Sandbox Code Playgroud)