【发布时间】: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