在我的Spring XML配置中,我需要根据另一个属性的值将值设置为特定的属性值。
我需要这样的东西:
<bean id="myid" class="myclass">
<property name="myprop"
value="#{${property_a} == 'test-a' ? ${property_b} : 'anothervalue'}"
/>
如果myprop
等于“test-a”,我希望property_b
设置property_a
的值,否则myprop
必须设置为“anothervalue”。
property_a
和property_b
都在我的config.properties
文件中定义。
是否可以在XML SpEL中编写这样的语句?
答案 0 :(得分:2)
<property name="myprop"
value="#{'${property_a}' == 'test-a' ? '${property_b}' : 'anothervalue' }" />
您必须确保属性占位符解析的结果仍为literal
。那么,这就是为什么我们必须将${...}
包裹到''
。