我有一个 Spring Boot 应用程序,它应该连接到 dev 和 prod 中的不同服务器,并且在这些服务器上运行许多服务。至此,我已经创建了这样的配置:
应用程序属性:
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
然而,当我用 初始化 bean 参数时@Value("${server.url.srv1}")
,我得到一个字符串 "${server.url.base}/srv1" 而不是 "http://192.168.86.17/srv1" 或 "https://10.11.12.3/srv1" “正如预期的那样。
这完全可行吗?如果仅在加载所有配置文件后才解析“${}”引用,则应该是这样,但情况似乎并非如此。
我在Spring 站点、Google(它指向一个其他有用的Baeldung 站点)和这里都搜索了答案,但没有发现与我的特定问题相关的内容。