Spring Boot中能否在application.yaml里基于其他变量构建变量值?
在Spring Boot的application.yml中实现属性引用与拼接
当然可以实现这种变量引用和值拼接的需求,你之前的写法不符合Spring Boot配置文件的语法规范,所以无法生效。
正确的写法是使用${}语法来引用已定义的属性,直接进行字符串拼接即可,不需要使用加号:
my: key1: key1Value key2: key2Value key3: ${my.key1}_${my.key2}
这样配置后,my.key3的值就会被解析为key1Value_key2Value,完全符合你的需求。
另外,如果需要为引用的属性设置默认值(防止该属性未定义时出现问题),可以使用${属性名:默认值}的格式,比如:
my: key3: ${my.key1:defaultKey1}_${my.key2:defaultKey2}
当my.key1或my.key2未配置时,会自动使用对应的默认值来拼接。
内容的提问来源于stack exchange,提问作者gstackoverflow
相关产品推荐
相关产品推荐

