Spring 提供了处理事务的一套API。
PlatFormTransactionManager接口为事务处理器的接口。
三个有关事务的方法:getTransaction(TD td):TS 开启事务的方法。以事务定义为参数,返回事务状态。
commit(TS ts) 提交事务的方法。以事务状态为参数。
rollback(TS ts) 回滚事务的方法。以事务状态为参数。
持久层采用Spring Template、JDBC、MyBatis时,采用DataSourceTransactionManager实现类作为事务处理器。
TransactionDefinition接口为事物定义接口。
三个有关事务定义的属性:事务隔离级别、事务传播行为以及事务默认超时。隔离级别和默认超时很好理解,不再赘述。
事务传播行为:有很7种类型,常用的是REQUIRED,也是默认的。即必须使用事务。
通俗解释:比如方法a和方法b。如果方法b规定的是使用REQUIRED,那么方法a调用方法b时,如果a没有使用事务,b在a中的调用会自动封装为一个事务。如果a有事务,那就加入进去。