Как добавить больше HBM в существующие MakingResources или существующий список HBM весной
Вопрос
У меня есть родительское приложение, которое включает в себя под приложения. Мое исходное приложение имеет свой собственный список 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>
.