Как установить значение свойства бина из другого значения свойства бина - PullRequest
1 голос
/ 05 января 2011

Например, у нас есть bean beanA со строковым свойством propertyA :

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

И у второго bean-компонента beanB есть также свойство свойства stringB, и я хочу инициализировать это свойство тем же значением, что и beanA.propertyA.

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

Но это не работает, выражение beanA.propertyA интерпретируется как строковое значение.

Вероятно, это идет вразрез с теорией IoC и не поддерживается Spring.

Спасибо.

Ответы [ 2 ]

4 голосов
/ 05 января 2011

Пространство имен util содержит несколько довольно полезных вещей.

Вы можете использовать <util:property-path id="name" path="testBean.age"/>

2 голосов
/ 05 января 2011

В Spring 3 вы также можете использовать Spring Expression language :

<bean name="beanB" class="...">
     <property name="propertyB"><value>#{ beanA.propertyA }</value></property>
</bean>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...