Как добавить больше HBM в существующие MakingResources или существующий список HBM весной

StackOverflow https://stackoverflow.com/questions/8973167

Вопрос

У меня есть родительское приложение, которое включает в себя под приложения. Мое исходное приложение имеет свой собственный список HBMS

   <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 в родительский приложение. То, как он должен работать, если он включает в себя это под приложение, то он будет включать в себя новые HBMS, а также приложение для ребенка, инициирует включение.

Новые HBMS, которые будут включены, могут выглядеть как

xx / dd.hbm.xml xx / ee.hbm.xml

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

Это было полезно?

Решение

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

Разделить «MakingResources» на

<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>
.

в детском приложении Обратитесь к компоненту «HBMMsourceList», и вызовите «Addall» на нем с другим списком через «МетодинВокуринговые продукты»

<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>
.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top