Spring中事务控制的 API介绍

Spring中事务控制的 API介绍

在spring中的事务管理, 最核心的对象就是TransactionManager

PlatformTransactionManager事务核心管理器

它是一个接口,是spring的事务管理器核心接口

spring并不支持事务的实现,而是负责包装底层事务,应用底层支持什么样的事务策略,spring就支持什么样的事务策略

里面提供了我们常用的操作事务的方法:

  • TransactionStatus getTransaction(TransactionDefinition definition) : 获取事务状态信息

  • void commit(TransactionStatus status) : 提交事务

  • void roolback(TransactionStatus status) : 回滚事务

不过我们是使用他的实现类

  • DataSourceTransactionManager

    • 使用SpringJDBCheiBatis进行持久化数据时使用
  • HibernateTransactionManager
    • 使用Hibernate3.0版本进行持久化数据时使用
  • JpaTransactionManager
    • 使用JPA进行持久化时使用
  • JdoTransactionManager
    • 当持久化机制时Jdo时使用
  • jtaTransactionManager
    • 使用JTA实现管理事务,在一个事务跨越多个资源时必须使用

常用两个实现类:DataSourceTransactionManager和HibernateTransactionManager


TransactionDefinition信息对象

是一个接口,它是事务的定义信息对象,里面有如下方法

  • String getName() : 获取事务对象名称

  • int getIsolationLevel() : 获取事务隔离级别

  • int getPropagationBehavior() : 获取事务传播行为
  • int getTimeout() : 获取事务超出时间

  • boolean isReadOnly() : 获取事务是否只读

    • 不管是读写型事务还是只读型事务, 执行的时候也会开启事务

TransactionStatus运行状态

是一个接口,是事务具体的运行状态 方法介绍:

  • void flush() : 刷新事务

  • boolean hasSavepoint() : 获取是否是存在存储点

  • boolean isCompleted() : 获取事务是否完成
  • boolean isNewTransaction : 获取事务是否为新的事务
  • boolean isRoolbackOnly() : 获取事务是否回滚
  • void setRoolbackOnly : 设置事务回滚

猜你喜欢

转载自blog.csdn.net/kato_op/article/details/80247834