小编典典

在Spring application.properties文件中使用表达式

spring-boot

表达式可以用作Spring application.properties文件中的右侧值吗?

例如,如下所示:

logging.level.com.acme=#{'${MY_RUN_ENV}'=='PROD'?'WARN':'DEBUG'}

也就是说,具体地说,也 不能 正常工作。但是,我想知道我是否可以做一些与预期的类似的事情


阅读 1259

收藏
2020-05-30

共1个答案

小编典典

不,您不能在属性文件中使用SpEL。

最后,尽管您可以在@Value中编写SpEL表达式,但不会从Application属性文件中处理此类表达式。

但是,您可以在属性文件中使用占位符,例如:

app.name=MyApp
app.description=${app.name} is a Spring Boot application

对于您的用例,您应该查看特定于配置文件的配置机制。

它允许您根据环境配置文件加载不同的配置。

2020-05-30