Имеет ли родительский компонент Spring, полученный от фабрики, свойства? - PullRequest
2 голосов
/ 27 октября 2011

У меня есть абстрактный родительский компонент, обладающий свойством map. Эта карта должна быть объединена со свойством map ребенка. Это работа. Но когда я помещаю этот bean-компонент как внутренний на фабрику, свойство карты, похоже, исчезает. Я полагаю, что поля внутреннего компонента недоступны для ребенка.

<bean id="parent" factory-bean="factory"
 factory-method="createbean"> 
  <constructor-arg>
    <bean abstract="true">
       <property name="prop" > 
         <map>
           <entry ............
           .................
         </map 
 ...............

Следующий боб:

  <bean id="child" parent="parent">

Это правильно? Спасибо.

1 Ответ

2 голосов
/ 31 октября 2011

Вот рабочий пример:

<bean id="parent" abstract="true" factory-bean="factory" factory-method="createBean">
    <constructor-arg index="0">
        <props>
            <prop key="One">one-value</prop>
            <prop key="Three">three-value</prop>
        </props>
    </constructor-arg>
</bean>

<bean id="child" parent="parent">
    <constructor-arg index="0">
        <props merge="true">
            <prop key="Two">two-value</prop>
            <prop key="Three">not-three-value</prop>
        </props>
    </constructor-arg>
</bean>

Когда возвращается дочерний бин, объект Properties, переданный в, будет иметь значения:

One=one-value
Two=two-value
Three=not-three-value

Обратите внимание, что значениеКлюч «три» был переопределен, потому что он был включен в дочерний компонент

...