我尝试在 application.yml 配置中使用环境变量,例如:
spring:
main:
show_banner: false
---
spring:
profiles: production
server:
address: $OPENSHIFT_DIY_IP
port: $OPENSHIFT_DIY_PORT
但是环境变量没有解析。我必须提供不同的符号吗?
在 Rails 中,您可以使用<%= ENV['FOOVAR'] %>
唯一的选择是运行应用程序,如下所示:
java -jar my.jar --server.address=$OPENSHIFT_DIY_IP --server.port=$OPENSHIFT_DIY_PORT
如果未提供环境变量,您甚至可以添加默认值:
logging:
level:
root: ${LOGGING_LEVEL_ROOT:info}
总之是的。您可以使用 @Value 从 application.yml 或 application.properties
加载环境变量此外,如果您需要不同的数据类型来执行验证和业务逻辑,您可以加载变量并自动转换它们。
server:
address: ${OPENSHIFT_DIY_IP}
port: ${OPENSHIFT_DIY_PORT}
加载信息
@Value("${server.address}")
private String serverAddress;
@Value("${server.port}")
private Integer serverPort;
添加环境变量后请记住重新启动 IDE(STS 4、Eclipse、Netbeans、IntelliJ 等)。否则,新变量将不可用于当前 IDE 上运行的应用程序。 重新启动 IDE!