Spring提供TransactionProxyFactoryBean管理事务的代理工厂
1.getBean()获得代理工厂
2.Spring配置一个代理
.xml中①,②不变
③之前修改的Service(事务处理类)
<bean id="accountService" class="~~.AccountServiceImpl">
<proprrty name="accountDao" ref="accountDao"></proprrty>
</bean>
④
<bean id="proxy" class="~~.TransactionproxyFactoryBean">
<proprrty name="target" ref="accountService"></proprrty><!--目标类-->
<proprrty name="proxyInterfaces" value="com.~~.AccountService"></proprrty><!--接口-->
<proprrty name="transactionManager" ref="txManager"></proprrty><!--事务管理器-->
<property name="transactionAttributes"><!--事务属性,详情-->
<props><prop key="fransfer">PROPAGATION_REQUIRED</prop></props>
<!--key用于确定哪些方法,内部数据配置0,1或PROPAGATION_REQUIRED,ISOLATION_DEFAULT,readyonly,+java.lang.ArithmeticException(在01的例子中+异常提交AB,-异常回滚)-->
</property>
</bean>