09、Spring框架入门:TX声明式事务

TX声明式事务

    • 1.代码实现:
  • 2.脏读、不可重复读、幻读
  • 3.事务的四大性质
  • 4.Spring的事务管理配置属性讲解:

Spring 中的内容 :

  • IOC:控制反转–帮助我们创建对象的也是解耦
  • AOP:面向切面–提升代码的扩展性和解耦
  • TX:声明式事务

为什么使用事务 :

我们当时学习mybatis的时候知道,mybatis中的事务和JDBC事务是一致的,那么Spring中式如何进行事务管理的呢?


事务管理:

  • 编程式事务:整个事务管理都是需要程序员自己手动编写,自己提交或者回滚
  • 声明式事务:就是整个事务的管理操作,不需要我们自己书写,现在Spring已经帮你处理好了,我们自己只要代码中声明配置即可

使用Spring 中声明式事务 :

  • 给方法增加事务 就是给切点增加通知
  • 切点:需要的方法
  • 通知:事务
  • 构成切面

使用的时候需要注意 :

  • 我们增加事务的代码块不可以自己捕获异常,如果自己进行了异常的捕获,spring就没有办法得知此事的异常,这个时候我们配置的声明式事务就不再起作用
  • 如果我们就需要书写try catch 还要结合声明式事务,这个时候就需要自己手动抛异常

1.代码实现:

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xmlns:aop="http://www.springframework.org/schema/aop"
       xmlns:tx="http://www.springframework.org/schema/tx"
       xmlns:context="http://www.springframework.org/schema/context"
       xsi:schemaLocation="http://www.springframework.org/schema/beans
        http://www.springframework.org/schema/beans/spring-beans.xsd
        http://www.springframework.org/schema/aop
        http://www.springframework.org