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