application.yml是否支持环境变量?

时间:2014-04-12 07:03:13

标签: java spring yaml spring-boot

我尝试在我的application.yml configration中使用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

2 个答案:

答案 0 :(得分:88)

尝试${OPENSHIFT_DIY_PORT}(通常的Spring占位符表示法)。有关文档,请参阅here

答案 1 :(得分:38)

如果未提供环境变量,您甚至可以添加默认值:

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