分析aop的 xml 的代码。更直观一些

事务提交和回滚就是我们重复的代码
spring业余事务管理器,我们拿过来直接用就可以

提交和回滚的后面直接调用释放。所以释放资源之类就是多余的
在绑定连接到线程的时候,直接就设置成false,所以开启事务这个通知 也是多余的

spring中的事务


需要先导入包pom.xml


用刚上线类。DataSourceTransactionManager

如果用到Hibernate的话。这个是真正带着代码的实现类

TransactionDefinition

事务的隔离级别一共有四个,spring默认使用的是数据库的隔离级别

事务的传播行为


存储点不好理解。可以理解为事务是按步提交。一旦设置了存储点,每个存储点都是事务的一部分,当执行成功后,就提交这一步。所有步骤都成功,整个事务结束。如果在某一步没有成功,回滚的时候只回滚到当前这一步。而不是回滚到所有重头开始。
存储点现在用不到 后续大型项目可能会用到。

除了配置事物管理器,还需要指定一些事物属性。还有就是要对谁进行事物控制 也就是切入点表达式

阶段3 2.Spring_10.Spring中事务控制_4 spring中事务控制的一组API的更多相关文章

  1. 阶段3 2.Spring_06.Spring的新注解_4 spring的新注解-Import

    把Configuration的直接先注释掉 那么运行测试类的查询所有 并不影响我们的使用 不写同样可以执行的原因是因为这里把SpringConfiguration这个类作为方法传入进去了 新建 Spr ...

  2. [Spring] Spirng中的AOP进行事务的传播属性和事务隔离级别

    通知注解 前置通知(@Before):在某连接点(join point)之前执行的通知,但这个通知不能阻止连接点前的执行(除非它抛出一个异常) 返回后通知(@AfterReturning):在某连接点 ...

  3. spring事务中隔离级别和spring的事务传播机制

    Transaction 也就是所谓的事务了,通俗理解就是一件事情.从小,父母就教育我们,做事情要有始有终,不能半途而废. 事务也是这样,不能做一般就不做了,要么做完,要 么就不做.也就是说,事务必须是 ...

  4. spring 事务处理中,同一个类中:A方法(无事务)调B方法(有事务),事务不生效问题

    public class MyEntry implements IBaseService{ public String A(String jsonStr) throws Exception{ User ...

  5. 事务理解及Spring中的事务

    一.隔离级别理解 1.脏读 首先理解,一个事务对数据进行了改变,尽管该事务尚未提交,但此时其他事务中的查询语句(注意一定是处于事务中的语句,不处于事务中的语句查到的是正常的)查到的数据,是该事务修改之 ...

  6. spring boot中的声明式事务管理及编程式事务管理

    这几天在做一个功能,具体的情况是这样的: 项目中原有的几个功能模块中有数据上报的功能,现在需要在这几个功能模块的上报之后生成一条消息记录,然后入库,在写个接口供前台来拉取消息记录. 看到这个需求,首先 ...

  7. Spring学习之Spring中AOP方式切入声明式事务

    mybatis-spring官方文档说明 一个使用 MyBatis-Spring 的其中一个主要原因是它允许 MyBatis 参与到 Spring 的事务管理中.而不是给 MyBatis 创建一个新的 ...

  8. mysql事务级别和spring中应用

    一.事务的基本要素(ACID) 1.原子性(Atomicity):事务开始后所有操作,要么全部做完,要么全部不做,不可能停滞在中间环节.事务执行过程中出错,会回滚到事务开始前的状态,所有的操作就像没有 ...

  9. spring boot:方法中使用try...catch导致@Transactional事务无效的解决(spring boot 2.3.4)

    一,方法中使用try...catch导致@Transactional事务无效的解决方法 1,问题的描述: 如果一个方法添加了@Transactional注解声明事务, 而方法内又使用了try catc ...

随机推荐

  1. 一、Nginx多站点配置

    一.下载 目录文件: 二.运行方式 (1)直接双击nginx.exe,双击后一个黑色的弹窗一闪而过 (2)打开cmd命令窗口,切换到nginx解压目录下,输入命令 nginx.exe 或者 start ...

  2. mysql 5.5.36 通用二进制安装部署

    1.创建mysql用户 # useradd -r mysql 2.解压二进制包到指定目录下 # tar xf mysql-5.5.36-linux2.6-x86_64.tar.gz -C /usr/l ...

  3. Python time、datetime、os、random、sys、hashlib、json、shutil、logging、paramiko、subprocess、ConfigParser、xml、shelve模块的使用

    文章目录: 1. time & datetime模块 2. os模块 3. random模块 4. sys模块 5. hashlib模块 6. json模块 7. shutil模块 8. lo ...

  4. 【LOJ 6695】天气之子

    找规律题的典范? OEIS裸题 考场上让你用 OEIS 吗 题意 link 题解 \(n\le 5\) 打表 \(n\le 10^5\) 发现不能直接求最优解,于是二分答案. 验证答案时,先把前 \( ...

  5. sql练习03

    准备数据建表语句CREATE TABLE students(sno VARCHAR(3) NOT NULL, sname VARCHAR(4) NOT NULL,ssex VARCHAR(2) NOT ...

  6. 忘记mysql或mariadb数据库密码的解决方案

    主机环境 主机系统:

  7. Java——静态代理、动态代理

    https://blog.csdn.net/giserstone/article/details/17199755 代理的作用:业务类只需要关注业务逻辑本身,保证了业务类的重用性 一 静态代理 特点: ...

  8. UML中的类图及类图之间的关系

    统一建模语言简介 统一建模语言(Unified Modeling Language,UML)是用来设计软件蓝图的可视化建模语言,1997 年被国际对象管理组织(OMG)采纳为面向对象的建模语言的国际标 ...

  9. python 数据库错误处理

    DB API中定义了一些数据库操作的错误及异常,下表列出了这些错误和异常: 异常 描述 Warning 当有严重警告时触发,例如插入数据是被截断等等.必须是 StandardError 的子类. Er ...

  10. TTTTTTTTTTTTT poj 3057 Evacuation 二分图匹配+bfs

    题意:见挑战230页 #include <iostream> #include <cstdio> #include <cstring> #include <c ...