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

Spring事务:@Transactional

时间:2020-01-18 18:06:00      阅读:89      评论:0      收藏:0      [点我收藏+]

标签:事务   spring   throws   配置文件   action   code   表示   actions   必须   

一、背景

事务:原子性、一致性、隔离性、持久性

 

二、方式

1. 编程式事务:使用代码实现

Public interface PlatformTransactionManager{  
       // 由TransactionDefinition得到TransactionStatus对象
       TransactionStatus getTransaction(TransactionDefinition definition) throws TransactionException;
       // 提交
       Void commit(TransactionStatus status) throws TransactionException;  
       // 回滚
       Void rollback(TransactionStatus status) throws TransactionException;  
}

2. 声明式事务

a. 配置文件xml声明

b. @Transactional注解,加在类(Service)或者方法上,加在类上表示为此类的所有方法都应用相同配置的事务

 

三、@Transactional注解基本原理

1. 通过代理实现目标类,事务在代理类里进行增强

2. 由于代理类继承了目标类,所以只能对public的方法起作用

3. 必须在代理类外部调用,事务才能起作用;例如目标类里有两个方法,不加事务的方法调用另一个加了事务的方法,此时事务是不起作用的 

 

 

参考:

https://www.jianshu.com/p/5687e2a38fbc

 

Spring事务:@Transactional

标签:事务   spring   throws   配置文件   action   code   表示   actions   必须   

原文地址:https://www.cnblogs.com/june0816/p/11216192.html

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