【声明式事务】Spring事务介绍(一)
2024-09-06 10:14:38
事务管理对于企业应用来说是至关重要的,当出现异常情况时,它也可以保证数据的一致性。
Spring事务有两种管理方式:编程式事务和声明式事务
- 编程式事务使用TransactionTemplate或者直接使用底层的PlatformTransactionManager。对于编程式事务管理,spring推荐使用TransactionTemplate。
- 声明式事务是建立在AOP之上的。其本质是对方法前后进行拦截,然后在目标方法开始之前创建或者加入一个事务,在执行完目标方法之后根据执行情况提交或者回滚事务。声明式事务最大的优点就是不需要通过编程的方式管理事务,这样就不需要在业务逻辑代码中掺杂事务管理的代码,只需在配置文件中做相关的事务规则声明(或通过基于@Transactional注解的方式),便可以将事务规则应用到业务逻辑中。
显然声明式事务管理要优于编程式事务管理,这正是spring倡导的非侵入式的开发方式。声明式事务管理使业务代码不受污染,一个普通的POJO对象,只要加上注解就可以获得完全的事务支持。和编程式事务相比,声明式事务唯一不足地方是,它的最细粒度只能作用到方法级别,无法做到像编程式事务那样可以作用到代码块级别。但是即便有这样的需求,也存在很多变通的方法,比如,可以将需要进行事务管理的代码块独立为方法等等。
声明式事务管理也有两种常用的方式,一种是基于tx和aop名字空间的xml配置文件,另一种就是基于@Transactional注解。显然基于注解的方式更简单易用,更清爽。
最新文章
- android xml中的xliff属性
- Django HTML 显示文章摘要
- git抽疯了。。。
- iOS----------使用 Xcode6或Xcode7配置.pch文件
- hdu 2393:Higher Math(计算几何,水题)
- paramiko堡垒机、线程及锁
- 基于Elasticsearch开发时的注意事项备忘
- 关于Apache Struts 2 S2-032高危漏洞的一些确认
- 温故知新——json
- Android LayoutInflater.inflate使用上的问题解惑
- 关于STM32 RTC的使用
- SQLite for xamarin
- kibaba 选择字段
- Java开发者工具
- NAND Flash中常用的纠错方式(ECC算法)
- 错误 ;4 ;自定义工具错误: ;无法生成服务引用“DepartMentService”的代码。请检查其他错
- 解决方案命名空间“System.Web.Mvc”中不存在类型或命名空间名称“Ajax”(是否缺少程序集引用?)
- VMvare 虚拟网卡vmnet1 and vmnet8
- java多线程管理 concurrent包用法详解
- LOJ #559. 「LibreOJ Round #9」ZQC 的迷宫
热门文章
- Codeforces Round #599 (Div. 1) C. Sum Balance 图论 dp
- EggJs快速入门
- Linux war包部署jenkins
- MongoDB for OPS 03:分片 shard 集群
- Z从壹开始前后端分离【 .NET Core2.2/3.0 +Vue2.0 】框架之九 || 依赖注入IoC学习 + AOP界面编程初探
- 执行插件的替代方式:用JS调用操作
- [b0029] python 归纳 (十四)_队列Queue实现生产者消费者
- SparkStreaming 整合kafka Demo
- 记录TortoiseGit=>;https请求/ssh请求配置
- MySQL数据篇(五)--SQL对数据进行按月统计,或对数据进行按星期统计