Spring TransactionProxyFactoryBean可以有多个目标吗

Spring TransactionProxyFactoryBean可以有多个目标吗,spring,Spring,TransactionProxyFactoryBean是否可以有多个目标,例如,当前只有目标道具跨越一个DAO,如: <bean id="client" class="org.springframework.transaction.interceptor .TransactionProxyFactoryBean"> <property name="transactionManager"><ref local="transactionManager"/><

TransactionProxyFactoryBean是否可以有多个目标,例如,当前只有目标道具跨越一个DAO,如:

<bean id="client" class="org.springframework.transaction.interceptor .TransactionProxyFactoryBean">
<property name="transactionManager"><ref local="transactionManager"/></property>
<property name="target"><ref local="ClientDAO"/></property>
<property name="transactionAttributes">
<props>
<prop key="save*">PROPAGATION_REQUIRED</prop>
</props>
</property>
</bean>

需要进行传播
我可以为同一proxyfactory bean在目标属性中添加另一个DAO吗


或者每个DAO都必须有一个单独的transactionproxyBean。

这是不可能的。但是,如果您想用相同的配置代理多个DAO,可以将bean配置为抽象的,而无需设置目标,将其命名为st,就像myTransactionProxy一样,然后对每个目标使用

<bean id="client" parent="myTransactionProxy">
  <property name="target" ref="ClientDAO"/>
</bean>
...

...

无论如何,使用TransactionProxyFactoryBean是管理事务的一种非常古老的方法,请尝试查看tx名称空间以声明方式定义事务()。

XML将起作用,但如果您确实想要现代方法,则注释要好得多。有一个关于交易的入门指南。