有没有办法覆盖Spring Boot的PropertySourcesPropertyResolver并通过添加额外的属性源来扩展Externalize configuration?
我尝试做的是在当前列表中添加另一个属性源,并能够使用当前机制覆盖此属性。 并扩展PropertySourcesPropertyResolver,所以当Spring映射使用@ConfigurationProperties注释的类的属性时 并且要求输入密钥,它可以检查具有两个不同前缀的密钥。
例如,如果我有来自两个不同位置的属性:
位置1的属性: data.user =用户名
位置2的属性: service.data.user = serviceUserName
我希望能够使用service.data.user的值覆盖data.user的值(如果该属性存在)。
答案 0 :(得分:0)
具有默认值的示例XML属性:
<property name="url" value="jdbc:${dbname:defaultdb}"/>
但是,似乎有一些人在使用多个属性占位符时出现问题,因此您可能需要注意:
您可以采用的另一种方法是为data.user
属性提供默认值,并让人们根据需要覆盖它。