1
在Spring XML中有複合屬性名稱,但我找不到複合屬性值。在RHS中引用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 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>
這不是一個糟糕的設計時,我可以使用左側的屬性的屬性,但不能做同樣的吧??
通過我不明白爲什麼左側作品,未經EL,而右側則沒有。 –
當你指定''bean id =「barnyard」..>''''''''基本上Spring正在調用'owner'屬性的setter,'' barnyard.setOwner(..)',現在如果你想引用另一個bean,你可以使用' ',但是如果你想解析另一個bean中的某個字段,那麼只有選項類似於Spring-El,它可以評估像上面定義的表達式來解析'Bob' bean的'getFather'。更多細節在這裏http://static.springsource.org/spring/docs/3.1.x/spring-framework-reference/html/beans.html –
通過我可以寫' '即我可以參考左側屬性的屬性。 EL需要在右側做同樣的事情。我猜這是糟糕的設計。 –