码迷,mamicode.com
首页 > 编程语言 > 详细

spring的事务,详解注解@Transactional

时间:2018-12-10 14:19:10      阅读:194      评论:0      收藏:0      [点我收藏+]

标签:很多   info   color   template   分享   实现   form   业务   png   

事务管理是应用系统开发中必不可少的一部分。Spring 为事务管理提供了丰富的功能支持。

Spring 事务管理分为编程式和声明式的两种方式。


编程式事务指的是通过编码方式实现事务,编程式事务管理使用TransactionTemplate或者直接使用底层的PlatformTransactionManager


声明式事务管理建立在AOP之上的。其本质是对方法前后进行拦截,然后在目标方法开始之前创建或者加入一个事务,在执行完目标方法之后根据执行情况提交或者回滚事务。


显然声明式事务管理要优于编程式事务管理,这正是spring倡导的非侵入式的开发方式。声明式事务管理使业务代码不受污染,一个普通的POJO对象,只要加上注解就可以获得完全的事务支持。和编程式事务相比,声明式事务唯一不足地方是,后者的最细粒度只能作用到方法级别,无法做到像编程式事务那样可以作用到代码块级别。但是即便有这样的需求,也存在很多变通的方法,比如,可以将需要进行事务管理的代码块独立为方法等等。

声明式事务有两种方式,一种是基于tx和aop名字空间的xml配置文件,另一种就是基于@Transactional注解

需要明确几点:
  默认配置下 Spring 只会回滚运行时、未检查异常(继承自 RuntimeException 的异常)或者 Error。
  @Transactional 注解只能应用到 public 方法才有效。

 

技术分享图片

 

spring的事务,详解注解@Transactional

标签:很多   info   color   template   分享   实现   form   业务   png   

原文地址:https://www.cnblogs.com/amunamuna/p/10095642.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!