2012-01-23 2 views
2

У меня есть родительское приложение, которое включает в себя суб-приложения. Мой Родитель приложение имеет свой собственный включенный список ВСМБКак добавить еще hbm в существующее отображениеResources или существующий список hbm весной

<bean name="mappingResources" 
     class="my.xxx.MyListFactoryBean"> 
     <property name="sourceList"> 
      <list> 
       <value>aaa/bbb/aa.hbm.xml</value> 
       <value>aaa/bbb/bb.hbm.xml</value> 
       <value>aaa/bbb/cc.hbm.xml</value> 
      </list> 
     </property> 
    </bean> 

Мои суб-приложения хотят, чтобы добавить свой собственный список зависимых ВСМБ к родительским-приложения. Способ, которым он должен работать, если он включает это суб-приложение, тогда он будет включать новые hbms, а дочернее приложение инициирует включение.

новые ВСМБ быть включены как может выглядеть

хх/dd.hbm.xml хх/ee.hbm.xml

Как мы можем это сделать?

ответ

4

Ваше решение может быть:

дробить «mappingResources» в

<bean name="mappingResources" class="my.xxx.MyListFactoryBean"> 
    <property name="sourceList" ref="hbmSourceList" /> 
</bean> 

<bean id="hbmSourceList" class="java.util.ArrayList"> 
    <constructor-arg> 
     <list> 
      <value>aaa/bbb/aa.hbm.xml</value> 
      <value>aaa/bbb/bb.hbm.xml</value> 
      <value>aaa/bbb/cc.hbm.xml</value> 
     </list> 
    </constructor-arg> 
</bean> 

В ребенке-приложении относится к бобу «hbmSourceList» и запустит «addAll» на него с другой список через «MethodInvokingFactoryBean»

<bean id="hbmSourceListExtender" class="org.springframework.beans.factory.config.MethodInvokingFactoryBean"> 
    <property name="targetObject"><ref bean="hbmSourceList"/></property> 
    <property name="targetMethod"><value>addAll</value></property> 
    <property name="arguments"> 
     <ref local="childAppHbmSourceList"/> 
    </property> 
</bean> 

<bean id="childAppHbmSourceList" class="java.util.ArrayList"> 
    <constructor-arg> 
     <list> 
      <value>xx/dd.hbm.xml</value> 
      <value>xx/ee.hbm.xml</value> 
     </list> 
    </constructor-arg> 
</bean> 
Смежные вопросы