Spring---声明式事务
1、Spring的事务机制
1.1、所有的 数据访问技术 都有事务处理机制,这些技术 提供了API 用来 开启事务、提交事务 完成数据操作(异常时事务回滚);
1.2、Spring的事务机制 :用统一的机制 来处理 不同的数据访问技术 的事务处理;
1.3、Spring的事务机制 提供了一个 PlatformTransactionManager接口,不同的 数据访问技术 使用 不同的接口实现:
2、Spring的声明式事务
2.1、Spring支持 声明式事务,即 使用注解@Transactional 在方法上 表明该方法需要 事务支持;
被注解的方法 在被调用时,Spring开启一个新的事务,当方法无异常运行结束后,Spring会提交这个事务;
@Transactional 该注解位于 org.springframework.transaction.annotation包下;
@Transactional public void test(){ }
2.2、Spring提供了 @EnableTransactionManagement 在配置类上 开启 声明式事务 的支持;
使用了 @EnableTransactionManagement 后,Spring容器 会 自动扫描 注解@Transactional 的方法、类;
3、注解事务行为
@Transactional 定义了propagation、isolation、timeout、readOnly、rollbackFor、noRollbackFor 来定制事务行为:
·······
4、类级别使用@Transactional
4.1、@Transactional 不仅 可以用在方法上 ,还 可以使用在类上;
4.2、@Transactional 注解在类上时,整个类的所有public方法都是开启事务的;
如果 类级别、方法级别 同时使用@Transactional,类级别 会 重载方法级别;
原文地址:https://www.cnblogs.com/anpeiyong/p/11944923.html
- 使用JavaScript访问XML数据
- 详解Android UI线程卡顿收集
- 浅谈差分约束问题
- JVM活学活用——类加载机制
- WebAssembly详解及其使用案例
- 30分钟精通快应用
- BZOJ2440: [中山市选2011]完全平方数(莫比乌斯+容斥原理)
- Dapper扩展之~~~Dapper.Contrib
- JVM活学活用——GC算法 垃圾收集器
- BZOJ1101: [POI2007]Zap(莫比乌斯反演)
- freeRTOS事件组学习
- 洛谷P2522 [HAOI2011]Problem b(莫比乌斯反演)
- JVM活学活用——优化springboot
- .Net中的AOP读书笔记系列之AOP介绍
- java教程
- Java快速入门
- Java 开发环境配置
- Java基本语法
- Java 对象和类
- Java 基本数据类型
- Java 变量类型
- Java 修饰符
- Java 运算符
- Java 循环结构
- Java 分支结构
- Java Number类
- Java Character类
- Java String类
- Java StringBuffer和StringBuilder类
- Java 数组
- Java 日期时间
- Java 正则表达式
- Java 方法
- Java 流(Stream)、文件(File)和IO
- Java 异常处理
- Java 继承
- Java 重写(Override)与重载(Overload)
- Java 多态
- Java 抽象类
- Java 封装
- Java 接口
- Java 包(package)
- Java 数据结构
- Java 集合框架
- Java 泛型
- Java 序列化
- Java 网络编程
- Java 发送邮件
- Java 多线程编程
- Java Applet基础
- Java 文档注释
- 2020 ISG“观安杯”最高分值web题的解题思路大放送
- 详解 JS 压缩图片
- LeetCode 1553. Minimum Number of Days to Eat N Oranges
- 异步IO数据库队列缓存
- markdown转为pdf文件
- [已解决]报错:Required request body is missing
- jupyter notebook修改默认路径和浏览器
- python selenium while 循环
- implicitly_wait()隐式等待
- [已解决]python FileNotFoundError: [WinError 3] for getsize(filepath)
- [已解决]ValueError: row index was 65536, not allowed by .xls format
- 记一次由Redis分布式锁造成的重大事故,避免以后踩坑!
- ES6部分源码重写 -1(ES5-构造函数解析)
- ES6部分源码重写 -2(ES6-构造函数初步解析)
- ES6部分源码重写 -3(ES6-ES5的方式来手写部分源码)