[英]Refering properties of properties in Spring XML at RHS?
Spring XML中有复合属性名称,但是我找不到复合属性值。
假设我的Person
getter具有以下原型:
class Person {
Person getFather();
void setFather(Person value);
String getAge();
void setAge(String value);
...
}
Company
原型如下:
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” Bob.father
。
以下也行不通
<bean id="Barnyard" class="Company">
<property name="owner" value="Bob.father"/>
</bean>
不能将String
转换为Person
。
如何完成?
UPDATE
假设我要设定公司所有者的年龄。 显然我应该这样写:
<bean id="Barnyard" class="Company">
<property name="owner" value="#{Bob.father}"/>
<property name="owner.age" value="38"/>
</bean>
当我可以在LEFT处使用属性的属性但在RIGHT处不能这样做时,这不是一个糟糕的设计吗?
Spring EL也将在这里工作,比您之前的问题更加简洁-
<bean id="Barnyard" class="Company">
<property name="owner" value="#{Bob.father}"/>
</bean>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.