2010-11-25 12 views
5

私はSpringベースのアプリケーションを開発中です。 XMLはシンプルですが、いくつかのほぼ同じ断片が含まれています。各DAOの例については、私は5つのDAOオブジェクト、2つのキューなどを持っている設定は、次のようになります。Spring XMLフラグメントを再利用する方法

<bean id="deviceDaoTarget" class="com.mycompany.dao.hibernate.DeviceDAOHibernateImpl" 
    autowire="byName" /> 

<bean id="deviceDAO" class="org.springframework.aop.framework.ProxyFactoryBean"> 
    <property name="proxyInterfaces"> 
     <value>com.mycompany.dao.DeviceDAO</value> 
    </property> 
    <property name="interceptorNames"> 
     <list> 
      <value>hibernateInterceptor</value> 
      <value>deviceDaoTarget</value> 
     </list> 
    </property> 
</bean> 

私は、パラメータを持つ輸入のいくつかの種類を使用させていただきます。

<bean id="${dao.target}" class="${dao.class}" 
    autowire="byName" /> 

<bean id="deviceDAO" class="org.springframework.aop.framework.ProxyFactoryBean"> 
    <property name="proxyInterfaces"> 
     <value>${dao.interface}</value> 
    </property> 
    <property name="interceptorNames"> 
     <list> 
      <value>hibernateInterceptor</value> 
      <value>${dao.target}</value> 
     </list> 
    </property> 
</bean> 

し、別のパラメータ、例えばで数回それを呼び出す:

<import resource="spring-dao.xml"> 
    <param name="dao.interface">com.mycompany.dao.hibernate.DeviceDAO</param> 
    <param name="dao.class">com.mycompany.dao.hibernate.DeviceDAOHibernateImpl</param> 
    <param name="dao.target">deviceDaoTarget</param> 
</import> 

は、この可能性のようなものです:たとえば、私はこのようなDAOのパラメータ化構成を作成したいのですが?

答えて

3

共通設定で<bean id="parentBean" abstract="true" ...>...</bean>を定義してから、そのBeanに固有の構成を持つ<bean id="childBean" parent="parentBean" ...>...</bean>を指定することができます。

+0

素晴らしい!ありがとうございました。どのように豆の継承を忘れましたか? – AlexR