我正在寻找如何在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}"
最佳答案
您在XML中使用的占位符不包含缺少默认值时要使用的默认值
可以在占位符后缀:default-value
的情况下提供默认值
<property name="serverURL" value="${test.sample.serverurl:http://localhost}" />
默认值中的
:
使示例变得复杂,更简单的示例可能是value="example:default"
value="test.sample.port:8080"
可能有重复的Is there a way to specify a default property value in Spring XML?。这是decent tutorial on properties in Spring。