gpt4 book ai didi

java - 如何重用 Spring XML 片段

转载 作者:数据小太阳 更新时间:2023-10-29 01:58:18 25 4
gpt4 key购买 nike

我正在开发基于 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>

这样的事情可能吗?

最佳答案

你可以定义一个<bean id="parentBean" abstract="true" ...>...</bean>使用普通配置然后有<bean id="childBean" parent="parentBean" ...>...</bean>仅针对该 bean 进行特定配置。

关于java - 如何重用 Spring XML 片段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4279418/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com