【问题标题】:How to add more hbm to existing mappingResources or existing hbm list in Spring如何在 Spring 中向现有 mappingResources 或现有 hbm 列表添加更多 hbm
【发布时间】:2012-01-23 14:29:44
【问题描述】:

我有一个父应用,其中包括子应用。 我的父应用程序有自己包含的 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

我们该怎么做?

【问题讨论】:

    标签: spring list add extend hbm


    【解决方案1】:

    您的解决方案可能是:

    将 '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>
    

    在子应用程序中 引用 bean“hbmSourceList”并通过“MethodInvokingFactoryBean”调用另一个列表的“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>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-02-14
      • 2015-03-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-12-27
      • 2010-12-26
      相关资源
      最近更新 更多