目录
spring事务管理
spring的事务管理是把事务由DAO层提升到service层来管理;它实际上是对于AOP思想的应用。我们只需要配置好平台事务管理器这一个“切面”就可以了;
spring中“平台事务管理接口”负责完成事务的提交和回滚;接口图解如下:

对于 JDBC和Mybatis可以对“DataSourceTransactionManager” 这个事务管理接口的实现类进行配置;
如下是配置JDBC事务管理
xml实现
<!--注册平台事务管理器:切面/顾问--> <bean id="txManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager"> <!--引用自己配置的数据库--> <property name="dataSource" ref="myDataSource"/> </bean> <!--注册事务通知--> <tx:advice id="txAdvice" transaction-manager="txManager"> <!--指定连接点--> <tx:attributes> <!--可以设置事务隔离级别,和传播行为--> <tx:method name="open*" isolation="DEFAULT" propagation="REQUIRED"/> <!--添加异常回滚--> <tx:method name="buy*" isolation="DEFAULT" propagation="REQUIRED" rollback-for="Exception"/> </tx:attributes> </tx:advice> <!--aop配置--> <aop:config> <aop:advisor advice-ref="txAdvice" pointcut="execution(* *..service.*.*(..))"/> </aop:config>
注解实现
需要在配置文件中需要加上事务注解的驱动
<!--注册事务注解驱动--> <tx:annotation-driven transaction-manager="txManager"/>
事务接口的定义需要在service的实现类中加上事务的注解
@Transactional(rollbackFor = Exception.class)

其他配置可以通过springDI进行注入;
spring事务管理相关Demo可到GitHub参考07和08