【发布时间】:2020-12-21 18:20:30
【问题描述】:
我有一个 Spring Boot 应用程序,它应该连接到 dev 和 prod 中的不同服务器,并且在这些服务器上运行许多服务。至此,我已经创建了这样的配置:
application.properties:
server.url.srv1=${server.url.base}/srv1
server.url.srv2=${server.url.base}/srv2
server.url.srv3=${server.url.base}/srv3
应用程序-dev.properties:
server.url.base=http://192.168.86.17
应用程序-prod.properties:
server.url.base=https://10.11.12.3
然而,当我使用 @Value("${server.url.srv1}") 初始化一个 bean 参数时,我得到一个字符串“${server.url.base}/srv1”而不是“http://192.168.86.17/srv1”或“https:// /10.11.12.3/srv1" 符合预期。
这真的可行吗?如果仅在加载所有配置文件后才解析“${}”引用,则应该是这样,但情况似乎并非如此。
我已经在Spring site、Google(它为我指出了另一个有用的Baeldung site)和此处搜索了答案,但没有找到与我的特定问题相关的答案。
【问题讨论】:
标签: java spring spring-boot application.properties spring-boot-configuration