Spring支持两种事务管理方式

1、编程式事务管理

在实际应用中很少使用,要手动改service层中的代码
通过TransactionTemplate手动管理事务

2、使用XML配置声明式事务

开发中推荐使用,代码侵入性最小
Spring的声明式事务是通过AOP实现的

2.1基于TransactionProxyFactoryBean的方式(不常用,因为要为每一个类配置TransactionProxyFactoryBean)

①在applicationContext.xml中配置transactionManager事务管理器
②为service生成代理类(主要包括事务管理器、属性、目标类等)
③属性有

<prop key=" * ">propagation(传播行为),isolation(隔离级别),readOnly(只读事务),-Exception(回滚),+Exception(不回滚)</prop>

2.2基于AspectJ的XML方式(常用,可配置在某些类下的所有子类,在业务层不需要添加什么)

①配置事务管理器
②配置事务的通知(事务的增强)
③配置切面(包括切入点、切面)

2.2基于注解的方式(常用,配置简单,但需要在业务层添加@Transactional注解)

在业务实现类上加上@Transactional注解,它有一些属性,写在后面的()中,例如:

@Transactional(propagation=propagation.required,RollbackFor,noRollbackFor)

①配置事务管理器
②开启注解事务

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 什么是Spring的事务管理   在实际开发中,操作数据库时都会涉及到事务管理问题,为此Spring提供了专门用于...
    纸中圆阅读 5,171评论 0 0
  • 1.数据库事务基础知识 1.1.何为数据库事务 数据库事务的4个特性 原子性:组成一个事务的多个数据库操作是一个不...
    小螺钉12138阅读 5,565评论 1 18
  • 1、JdbcTemplate基本使用 1)、JdbcTemplate基本使用-概述(了解) 2)、JdbcTemp...
    pndHappiness阅读 4,290评论 0 1
  • 1 事务 1.1 事务管理方式 spring支持编程式事务管理和声明式事务管理两种方式。 编程式事务管理使用Tra...
    鑫奕航阅读 7,816评论 0 1
  • 最近看了比较多Spring的东西,脑中概念知识比较杂乱,借助周六周天的闲暇时间,写一些内容,梳理一下自己脑中...
    clannad月阅读 3,669评论 0 0

友情链接更多精彩内容