Spring XML 中有复合属性名称,但我找不到复合属性值。
假设我有Person
以下原型的吸气剂:
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”不起作用。
以下也不起作用
<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>
当我可以在左边使用属性的属性但不能在右边做同样的事情时,这不是一个糟糕的设计吗?