系统中存在多个业务逻辑对象时,反反复复地定义target和代理bean反反复复地声明事务.解决办法-定义baseTransProxy:
<bean id="baseTransProxy" abstract="true"
class="
org.springframework.transaction.interceptor.TransactionProxyFactoryBean
">
<property name="transactionManager"
ref="myHibTransactionManager"/>
<property name="transactionAttributes">
<props>
... ...
</props>
</property>
</bean>
注意:在<property name="transactionAttributes">我们没有定义target!
在需要用到事务管理的bean中,继承baseTransProxy:
<!-- Target -->
<bean id="fwxxBizTarget" class="com.aptech.jb.biz.impl.FwxxBizImpl">
<property name="fwxxDAO" ref="fwxxDAO" />
</bean>
<bean id="userBizTarget" class="com.aptech.jb.biz.impl.UserBizImpl">
<property name="userDAO" ref="userDAO" />
</bean>
<!-- Biz -->
<bean id="fwxxBiz"
parent="baseTransProxy"
>
<property name="target" ref=" fwxxBizTarget" />
</bean>
<bean id="userBiz" parent="baseTransProxy">
<property name="target" ref=" userBizTarget" />
</bean>