Yml 支持环境变量吗?

我尝试在 application.yml 配置中使用 env 变量,比如:

spring:
main:
show_banner: false


---


spring:
profiles: production
server:
address: $OPENSHIFT_DIY_IP
port: $OPENSHIFT_DIY_PORT

但是 env 变量没有解析。我必须提供一个不同的表示法吗?

在 Rails 中,您可以使用 <% = ENV [‘ FOOVAR’]% >

唯一的选择是像下面这样运行应用程序:

java -jar my.jar --server.address=$OPENSHIFT_DIY_IP --server.port=$OPENSHIFT_DIY_PORT
161911 次浏览

尝试 ${OPENSHIFT_DIY_PORT}(通常的 Spring 占位符符号)。

如果没有环境变量,你甚至可以添加默认值:

logging:
level:
root: ${LOGGING_LEVEL_ROOT:info}

可以使用@Value 从 应用应用性能加载环境变量

此外,如果需要不同的数据类型来执行验证和业务逻辑,您可以加载变量并自动强制转换它们。

server:
address: ${OPENSHIFT_DIY_IP}
port: ${OPENSHIFT_DIY_PORT}

载入信息

@Value("${server.address}")
private String serverAddress;


@Value("${server.port}")
private Integer serverPort;

答案已经给出了。您可以使用您的 IDE (如 IntelliJ)来提供 env 变量,可以按照以下方式进行操作

enter image description here

enter image description here

enter image description here