我正在开发基于Spring的应用程序。 XML很简单,但包含几个几乎相同的片段。例如,我有5个不同的DAO对象,2个队列等。每个DAO的配置如下:
<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>
我很乐意使用带参数的某种导入。例如,我想像这样创建DAO的参数化配置:
<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>
这样的事情可能吗?
答案 0 :(得分:3)
您可以使用通用配置定义<bean id="parentBean" abstract="true" ...>...</bean>
,然后使<bean id="childBean" parent="parentBean" ...>...</bean>
只具有该bean的特定配置。