浅谈Spring(三)

最后都变了- 提交于 2020-02-17 11:24:55

Spring的事务管理

  • 什么是Spring的事务管理?
      在实际开发中,操作数据库时都会牵扯到事务管理问题,为此Spring提供了专门用于事务处理的API。Spring的事务管理简化了传统的事务管理流程,并且在一定程度上减少了开发者的工作量。

  事务管理的核心接口:

1. Platform TransactionManager

  该接口提供了3个事务操作的方法,具体如下:

  • TransactionStatus getTransaction(TransactionDefinition definition):用于获取事务状态的信息
  • void commit(TransactionStatus status):用于提交事务
  • void rollback(TransactionStatus status):用于回滚事务

2. TransactionDefinition

  该接口提供了5个事务操作的方法,具体如下:

  • String getName():获取事务对象名称
  • int getIsolationLevel():获取事务的隔离级别
  • int getPropagationBehavior():获取事务的传播行为
  • int getTimeout():获取事务的超时时间
  • boolean isReadOnly():获取事务是否只读

3. TransactionStatus

  该接口提供了6个事务操作的方法,具体如下:

  • void flush():刷新事务

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

  • boolean isCompleted():获取事务是否完成

  • boolean isNewTransaction():获取是否为新事物

  • boolean isRollbackOnly():获取事务是否回滚

  • void setRollbackOnly():设置事务回滚

  • Spring事务管理的方式?

  1. 编程式事务管理

  通过编写代码实现的事务管理,包括定义事务的开始、正常执行后的事务提交和异常是的事务回滚。

  1. 声明式事务管理

  通过AOP技术实现的事务管理,主要思想是将事务作为一个“切面”代码单独编写,然后通过AOP技术将事务管理的“切面”植入到业务目标类中。

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!