2

我正在寻找如何在 XML 中使用 Java 默认属性值,而无需在应用程序 YML 或其他任何内容中指定。

这是我的 java 配置,默认我想使用这个 URL 值,直到从 YML 文件提供它。

@EnableConfigurationProperties
@ConfigurationProperties(prefix = "test.sample")
public @Data class SampleProperties {
   private String serverurl ="test.example.com";
}

当我尝试在 XML 中使用

<property name="serverURL" value="${test.sample.serverurl}" />

投掷

IllegalArgumentException : Could not resolve placeholder 'test.sample.serverurl' in value "${test.sample.serverurl}"
4

1 回答 1

5

您在 XML 中对占位符的使用不包括在缺少时使用的默认值

默认值可以:default-value在占位符上提供后缀

<property name="serverURL" value="${test.sample.serverurl:http://localhost}" />

该示例因:默认值而变得复杂,更简单的可能是

value="example:default"
value="test.sample.port:8080"

有可能重复有没有办法在 Spring XML 中指定默认属性值?. 这是一个关于 Spring 属性的不错的教程

于 2017-10-10T11:52:03.273 回答