事务抽象的核心接口

PlatformTransactionManager

  • DataSourceTransactionManager
  • HibernateTransactionManager
  • JtaTransactionManager

    TransactionDefinition

  • Propagation

  • Lsolation
  • Timeout
  • Read-only status
  1. void commit(TransactionStatus status) throws TransactionException;
  2. void rollback(TransactionStatus status) throws TransactionException;
  3. TransactionStatus getTransaction(@Nollable TransactionDefinition definition) throws TransactionException;

Spring事务默认传播特性是Required:当前有事务就用当前的,没有就用新的

Spring事务隔离性使用的是数据库的事务隔离性

编程式事务

TransactionTemplate

有返回值使用

  • TransactionCallback

无返回值使用

  • TransactionCallbackWithoutResult

    PlatformTransactionManager

  • 可以传入TransactionDefinition进行定义

    声明式事务

    开启事务的注解或XML的方式

  • @EnableTransactionManagement

  • 一些配置

  • proxyTargerClass

  • mode
  • orader

    @Transactional

  • transactionManager

  • propagation
  • isolation
  • timeout
  • readOnly
  • 怎么判断回滚