Spring In Action学习笔记-事务

10月 6, 2014 |

1、事务的属性:ACID
Atomic,Consistent,(事务结束后的状态一致),Isolated,Durable(持久化)

2、JDBC事务配置

 

3、编程式事务

txTemplate 是TransactionTemplate 的实例,通过DI注入,

4、声明式事务的属性

  • Propagation:事务的边界
  • Isolation:事务的隔离级别
  • Rollback rules (自定义回滚规则,默认是运行时异常回滚)
  • Read-only? (优化)
  • Timeout (尽快释放资源)

各个隔离级别的含义:

  • Dirty read(其他事务未提交的数据)
  • Nonrepeatable reads(看到其他事务提交的修改的记录)
  • Phantom reads (其他事务提交新增记录)

Spring对应的定义:

  • ISOLATION_READ_UNCOMMITTED(脏读)
  • ISOLATION_READ_COMMITTED(重复读,幻读)
  • ISOLATION_REPEATABLE_READ(幻读)
  • ISOLATION_SERIALIZABLE(完美服从ACID)

5、声明式事务的配置

6、注解驱动的声明式事务配置
<tx:annotation-driven transaction-manager="txManager"/> 如果 transaction manager bean的id=transactionManager可以省略这个属性。
@Transactional

Posted in: spring practise

Comments are closed.