1.Spring@Transactional的配置
步骤一、在Spring配置文件中引入命名空间
步骤二、xml配置文件中,添加事务管理器bean配置
步骤三、在使用事务的方法或者类上添加下面的注解
@Transactional(“pkgouTransactionManager”)
2.传播行为和隔离级别
1> 事务注解方式: @Transactional
- 标注在类前:标示类中所有方法都进行事务处理
- 标注在接口、实现类的方法前:标示方法进行事务处理
2> 事务传播行为介绍:
3> 事务超时设置:
@Transactional(timeout=30) //默认是30秒
4> 事务隔离级别:
- 脏读 : 一个事务读取到另一事务未提交的更新数据
- 不可重复读 : 在同一事务中, 多次读取同一数据返回的结果有所不同, 换句话说, 后续读取可以读到另一事务已提交的更新数据。相反,”可重复读”在同一事务中多次读取数据时,能够保证所读数据一样,也就是后续读取不能读到另一事务已提交的更新数据
- 幻读 : 一个事务读到另一个事务已提交的insert数据
@Transactional的属性:
3.工作原理