如何在 application.properties 中拆分 属性 的值
How to split value of property in application.properties
我想拆分 属性 定义的值 application.properties 并将其用作另一个 属性 的值。
以下是我在 application.properties 文件
中的属性
test.product.release.version=2003.1
test.product.release.year=${test.product.release.version}.split('.')[0]
我想要 属性 test.product.release.year
的值作为 2003
我尝试使用 ${test.product.release.version}.split('.')[0]
拆分,但是当我在我的控制器中获得 属性 时,我仍然获得 2003.1.split('.')[0]
的值
我怎样才能将其作为 2003
获取?
对于我的观点,你应该从不同的角度来看:
test.product.release.version.year=2003
test.product.release.version.sub=1
test.product.release.version=${test.product.release.version.year}.${test.product.release.version.sub}
使用下面的表达式。这会起作用。
@Value("#{\"${test.product.release.version}\".split(\"\.\")}")
private String[] myValues;
// this will give you year part.
@Value("#{\"${test.product.release.version}\".split(\"\.\")[0]}")
private String year;
控制器中可以直接获取年份
@Value("#{'${test.product.release.version}'.split('[.]')[0]}")
private String year;
同理版本
@Value("#{'${test.product.release.version}'.split('[.]')[1]}")
private String version;
以同样的方式,您也可以在属性文件中指定此表达式
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]}"
然后用@Value
读test.product.release.year
@Value("${test.product.release.year}")
private String value;
由于您将有一个 属性 并从第一个派生另一个,最好按如下方式进行:
application.properties
test.product.release.version=2003.1
配置class
@Value("${test.product.release.version}")
private String version;
@Value("#{'${test.product.release.version}'.split('\.')[0]}")
private String year;
我想拆分 属性 定义的值 application.properties 并将其用作另一个 属性 的值。
以下是我在 application.properties 文件
中的属性test.product.release.version=2003.1
test.product.release.year=${test.product.release.version}.split('.')[0]
我想要 属性 test.product.release.year
的值作为 2003
我尝试使用 ${test.product.release.version}.split('.')[0]
拆分,但是当我在我的控制器中获得 属性 时,我仍然获得 2003.1.split('.')[0]
我怎样才能将其作为 2003
获取?
对于我的观点,你应该从不同的角度来看:
test.product.release.version.year=2003
test.product.release.version.sub=1
test.product.release.version=${test.product.release.version.year}.${test.product.release.version.sub}
使用下面的表达式。这会起作用。
@Value("#{\"${test.product.release.version}\".split(\"\.\")}")
private String[] myValues;
// this will give you year part.
@Value("#{\"${test.product.release.version}\".split(\"\.\")[0]}")
private String year;
控制器中可以直接获取年份
@Value("#{'${test.product.release.version}'.split('[.]')[0]}")
private String year;
同理版本
@Value("#{'${test.product.release.version}'.split('[.]')[1]}")
private String version;
以同样的方式,您也可以在属性文件中指定此表达式
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]}"
然后用@Value
读test.product.release.year
@Value("${test.product.release.year}")
private String value;
由于您将有一个 属性 并从第一个派生另一个,最好按如下方式进行:
application.properties
test.product.release.version=2003.1
配置class
@Value("${test.product.release.version}")
private String version;
@Value("#{'${test.product.release.version}'.split('\.')[0]}")
private String year;