2011-01-05 6 views
1

Zum Beispiel setzen müssen wir Bohne Beana mit String-Eigenschaft propertyâ:Wie Bean Eigenschaftswert von anderen Bean Eigenschaftswert

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

Und zweitens Bohne beanB auch String-Eigenschaft propertyB hat, und ich möchte initialisieren diese Eigenschaft mit dem gleichen Wert wie beanA.propertyA, ich dachte, dass ich so etwas wie dies tun müssen:

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

Aber das ist nicht funktioniert, Ausdruck beanA.propertyA threated als String-Wert.

Wahrscheinlich ist dies gegen IoC-Theorie und nicht von Spring unterstützt.

Danke.

Antwort

4

Die util namespace hat einige ziemlich nützliche Dinge.

können Sie verwenden <util:property-path id="name" path="testBean.age"/>

+0

+1 froh, diese :) zu wissen –

2

Im Frühjahr 3 Sie können auch Spring Expression language verwenden:

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