要从SpEL表达式访问属性占位符,可以使用以下语法:#{'${x.y.z}'}
。但是,用elvis运算符和默认值无法解决你的问题,因为它${x.y.z}
在无法解决时会引发异常。
<context:property-placeholder location="..." properties-ref="defaultValues"/>
<bean id = "defaultValues" class = "org.springframework.beans.factory.config.Propertiesfactorybean">
<property name="properties">
<props>
<prop key="x.y.z">ZZZ</prop>
</props>
</property>
</bean>
<bean ...>
<property name = "..." value = "${x.y.z}" />
</bean>