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事务管理的方式?
- 编程式事务管理
通过编写代码实现的事务管理,包括定义事务的开始、正常执行后的事务提交和异常是的事务回滚。
- 声明式事务管理
通过AOP技术实现的事务管理,主要思想是将事务作为一个“切面”代码单独编写,然后通过AOP技术将事务管理的“切面”植入到业务目标类中。
来源:CSDN
作者:Ryan.G.King
链接:https://blog.csdn.net/qq_41422448/article/details/104352737