【问题标题】:Spring Boot - How to read environment variables from file.confSpring Boot - 如何从 file.conf 读取环境变量
【发布时间】:2018-04-12 14:45:26
【问题描述】:

我有一个小问题。我希望能够从 Spring Boot 中嵌入式 Tomcat 的 myFile.conf 文件中读取/加载环境变量,并在 application.properties 中使用这些变量。像这样:

/config/myfile.conf(此文件​​不在 application.jar 中)

SPRING_PROFILES_ACTIVE=local
DB_USER=myUser
DB_PASSWORD=password
...

application.properties

spring.datasource.username={DB_USER}
spring.datasource.password={DB_PASSWORD}

而且 Spring 会自动将配置文件设置为 SPRING_PROFILES_ACTIVE 环境变量中的任何内容。

如何为使用嵌入式 tomcat 的 Spring Boot 应用程序执行此操作?我知道这很容易通过将这些变量放在 tomcat.conf 中通过外部 tomcat 安装来完成

【问题讨论】:

  • 谢谢。我之前已经阅读过这部分文档,但我找不到与我想要实现的目标相关的部分。
  • @benbjo 和application.properties 中的@PropertySource("file:/AbsolutePathTo/myfile.conf")spring.datasource.username=${DB_USER} spring.datasource.password=${DB_PASSWORD} 有什么问题?
  • 没什么,但是使用环境变量 SPRING_PROFILES_ACTIVE 是行不通的。我可以按照您的建议执行并通过 -Dspring.profiles.active,但这并不是我想要实现的。我们还有其他使用外部 tomcat 的应用程序将这些变量放在 tomcat.conf 中。我基本上希望嵌入式 tomcat 具有相同的行为。如果那不可能,我猜我将不得不接受您的建议

标签: java spring tomcat spring-boot


【解决方案1】:

【讨论】:

  • 谢谢,但这与使用 @PropertySource 相同,它不能满足我的所有需求。这可能是要走的路
猜你喜欢
  • 2017-12-01
  • 2020-05-05
  • 2021-01-28
  • 2019-08-03
  • 2020-01-18
  • 1970-01-01
  • 1970-01-01
  • 2019-08-03
  • 1970-01-01
相关资源
最近更新 更多