要从SpEL表达式访问属性占位符,可以使用以下语法:
#{'${x.y.z}'}。但是,用elvis运算符和默认值无法解决你的问题,因为它${x.y.z}在无法解决时会引发异常。但是你不需要SpEL来声明属性的默认值:
<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>


