如何从另一个bean属性值设置bean属性值

时间:2011-01-05 11:15:31

标签: java spring ioc-container

例如,我们有bean beanA ,字符串属性 propertyA

<bean name="beanA" class="...">
     <property name="propertyA"><value>some string value </value></property>
</bean>

第二个bean beanB也有字符串属性propertyB,我想用与beanA.propertyA相同的值初始化这个属性,我想我需要做这样的事情:

<bean name="beanB" class="...">
     <property name="propertyB"><value>beanA.propertyA</value></property>
</bean>

但这不起作用,表达式beanA.propertyA被威胁为字符串值。

可能这违反了IoC理论而不受Spring的支持。

感谢。

2 个答案:

答案 0 :(得分:4)

util namespace有一些非常有用的东西。

您可以使用<util:property-path id="name" path="testBean.age"/>

答案 1 :(得分:2)

在Spring 3中,您还可以使用Spring Expression language

<bean name="beanB" class="...">
     <property name="propertyB"><value>#{ beanA.propertyA }</value></property>
</bean>