拆分不适用于 AbstractEnvironment.getProperty
Split doesn't work with AbstractEnvironment.getProperty
我的 application.properties 文件中有以下 属性。
test.product.release.version=2003.1
test.product.release.year=#{'${test.product.release.version}'.split('[.]')[0]
当我在我的 spring 控制器中使用 属性 test.product.release.year
使用 @Value
注释时,它给我的值是 2003,但是当我得到它的值时通过 AbstractEnvironment#getProperty
我获得了
的价值
#{'${test.product.release.version}'.split('[.]')[0]
如何使用 AbstractEnvironment 获取值 2003?
不,您不能在属性文件中使用 SpEL。
但是您可以 use placeholders 在属性文件中,例如:
app.name=MyApp
app.description=${app.name} is a Spring Boot application
对于您的用例,您应该查看 profile-specific configuration 机制。
这允许您根据环境配置文件加载不同的配置。
我的 application.properties 文件中有以下 属性。
test.product.release.version=2003.1
test.product.release.year=#{'${test.product.release.version}'.split('[.]')[0]
当我在我的 spring 控制器中使用 属性 test.product.release.year
使用 @Value
注释时,它给我的值是 2003,但是当我得到它的值时通过 AbstractEnvironment#getProperty
我获得了
#{'${test.product.release.version}'.split('[.]')[0]
如何使用 AbstractEnvironment 获取值 2003?
不,您不能在属性文件中使用 SpEL。
但是您可以 use placeholders 在属性文件中,例如:
app.name=MyApp
app.description=${app.name} is a Spring Boot application
对于您的用例,您应该查看 profile-specific configuration 机制。
这允许您根据环境配置文件加载不同的配置。