繁体   English   中英

在RHS中引用Spring XML中的属性的属性?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM