Spring宣言式事务管理的简洁使用方法
Spring声明式事务管理的简洁使用方法
系统中存在多个业务逻辑对象时,反反复复地定义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>