Spring XML 中有复合属性名称,但我找不到复合属性值。
假设我有具有以下原型(prototype)的 Person
getter:
class Person {
Person getFather();
void setFather(Person value);
String getAge();
void setAge(String value);
...
}
Company
原型(prototype)如下:
class Company {
Person getOwner();
void setOwner(Person value);
...
}
我可以将它们与类似的东西联系起来
<bean id="Bob" class="Person"/>
<bean id="Barnyard" class="Company">
<property name="owner" ref="Bob.father"/>
</bean>
上面的说法不起作用,说“没有 Bob.father
id 的 bean”。
以下也不起作用
<bean id="Barnyard" class="Company">
<property name="owner" value="Bob.father"/>
</bean>
说无法将String
转换为Person
。
如何实现?
更新
假设我想设置公司所有者的年龄。显然我应该这样写:
<bean id="Barnyard" class="Company">
<property name="owner" value="#{Bob.father}"/>
<property name="owner.age" value="38"/>
</bean>
当我可以使用左侧属性的属性但不能在右侧执行相同操作时,这不是一个糟糕的设计吗?
最佳答案
Spring EL 也可以在这里工作,甚至比你的问题 previously 更简洁。 -
<bean id="Barnyard" class="Company">
<property name="owner" value="#{Bob.father}"/>
</bean>
关于java - 在 RHS 处引用 Spring XML 中的属性的属性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12828387/