TransactionProxyFactoryBean用继承简化配置
Spring在TransactionDefinition接口中规定了7种类型的事务传播行为,它们规定了事务方法和事务方法发生嵌套调用时事务如何进行传播:
?
最常用的一种:
?
??? </property>?
??? <!-- 配置事务模板,模板bean被设置成abstract bean,保证不会被初始化-->
? <bean id="baseProxy"
??????? abstract="true"
??????? />
??? </property>
?
?????? <!-- 设置事务属性-->
??? <property name="transactionAttributes">
????? <props>
??????? <prop key="save*">PROPAGATION_REQUIRED,-Throwable</prop>
??????? <prop key="remove*">PROPAGATION_REQUIRED,-Throwable</prop>
??????? <prop key="merge">PROPAGATION_REQUIRED,-Throwable</prop>
??????? <prop key="update">PROPAGATION_REQUIRED,-Throwable</prop>
??????? <prop key="do*">PROPAGATION_REQUIRED,-Throwable</prop>
????? </props>
??? </property>
? </bean>
?
?<!-- 实际的事务代理bean-->
?
<bean id="testServer"
??????? parent="baseProxy">
??? <property name="target">
?
???????? <!-- 采用嵌套bean配置目标bean -->
????? <bean />
??? </property>
? </bean>
?