环境搭建

新建工程

把对应的依赖复制过来

src下内容复制

配置spring中的声明事物

找到bean.xml开始配置

配置事物管理器


里面需要注入DataSource

2-配置事物通知

需要先导入事务约束

事务和aop这里一起导入
file:///H:/BaiDu/%E9%BB%91%E9%A9%AC%E4%BC%A0%E6%99%BAJavaEE57%E6%9C%9F%202019%E6%9C%80%E6%96%B0%E5%9F%BA%E7%A1%80+%E5%B0%B1%E4%B8%9A+%E5%9C%A8%E8%81%8C%E5%8A%A0%E8%96%AA/%E8%AE%B2%E4%B9%89+%E7%AC%94%E8%AE%B0+%E8%B5%84%E6%96%99/%E4%B8%BB%E6%B5%81%E6%A1%86%E6%9E%B6/32.%E4%BC%9A%E5%91%98%E7%89%88(2.0)-%E5%B0%B1%E4%B8%9A%E8%AF%BE(2.0)-Spring/spring/spring_day01/%E8%B5%84%E6%96%99/spring-framework-5.0.2.RELEASE-dist/spring-framework-5.0.2.RELEASE/docs/spring-framework-reference/data-access.html#spring-data-tier

<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"
xsi:schemaLocation="
http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/tx
http://www.springframework.org/schema/tx/spring-tx.xsd
http://www.springframework.org/schema/aop
http://www.springframework.org/schema/aop/spring-aop.xsd">

这样就都导入进来了。
配置事物的通知需要用到标签 tx:advice

id是唯一标识,属性就叫做transaction-manager

这里可以直接选择上面引用的

3-配置aop通用切入点表达式

4-建立事务通知和切入点表达式的关系

现在有了通知,通知里面有提交和回滚的方法

他们两个需要建立关系才能对方法进行增强

使用aop:advisor这个标签

5-配置事务的属性


transfer是我们业务层接口中的一个方法,它有一些实现

有这些属性


星是个通配符。上面的全通配,下面的部分能匹配。

优先级,下面的要高于上面

测试

当前实现类里面有异常

数据改回两个一千

运行测试方法


事务被控制住了。金额没有发生改变。

当用了这个切入点表达式,我们的项目中这个配置写一次。项目中再也没有实物的问题干扰我们了。
这就是声明式事务的好处

阶段3 2.Spring_10.Spring中事务控制_6 spring基于XML的声明式事务控制-配置步骤的更多相关文章

  1. spring基于XML的声明式事务控制

    <?xml version="1.0" encoding="utf-8" ?><beans xmlns="http://www.sp ...

  2. spring基于xml的声明式事务控制配置步骤

    <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.sp ...

  3. Spring中基于XML的声明式事务控制配置步骤

    1.配置事务管理器 2.配置事务的通知 此时,我们就需要导入事务的约束 tx名称空间和约束,同时也需要aop的 使用tx:advice标签配置事务通知 属性: id:给事务通知起一个唯一标识 tran ...

  4. 基于XML的声明式事务控制

    1.maven依赖 <?xml version="1.0" encoding="UTF-8"?> <project xmlns="h ...

  5. spring基于注解的声明式事务控制

    package com.hope.service.impl;import com.hope.dao.IAccountDao;import com.hope.domain.Account;import ...

  6. Spring中的事物管理,用 @Transactional 注解声明式地管理事务

    事物: 事务管理是企业级应用程序开发中必不可少的技术,  用来确保数据的 完整性和 一致性. 事务就是一系列的动作, 它们被当做一个单独的工作单元. 这些动作要么全部完成, 要么全部不起作用 事务的四 ...

  7. SpringMVC+Spring+Mybatis整合,使用druid连接池,声明式事务,maven配置

    一直对springmvc和mybatis挺怀念的,最近想自己再搭建下框架,然后写点什么. 暂时没有整合缓存,druid也没有做ip地址的过滤.Spring的AOP简单配置了下,也还没具体弄,不知道能不 ...

  8. 阶段3 2.Spring_10.Spring中事务控制_7 spring基于注解的声明式事务控制

    创建新项目 复制上一个pom.xml的内容.依赖和打包的方式 再复制src的代码过来 bean.xml.多导入context的声明 Service的实现类增加注解 dao的set方法删掉 通过Auto ...

  9. 28Spring_的事务管理_银行转账业务加上事务控制_基于注解进行声明式事务管理

    将applicationContext.xml 和 AccountServiceImpl 给备份一个取名为applicationContext2.xml 和 AccountServiceImpl2.j ...

随机推荐

  1. Django学习系列16:处理完POST请求后重定向

    处理完POST请求后重定向 代码中new_item_text = ''的写法不怎么样.解决第二个问题时候,顺带把这个问题也解决了. 人们都说处理完post请求后一定要重定向,接下来就实现这个功能吧.修 ...

  2. poj3728 The merchant[倍增]

    给一棵点带权树,$q$次询问,问树上$x$到$y$路径上,两点权之差(后面的减去前面的)的最大值. 这个是在树链上找点,如果沿路径的最小值在最大值之前出现那肯定答案就是$maxx-minx$,但是反之 ...

  3. 更新protobuf

    sudo pip install --upgrade protobuf sudo apt-get install libprotobuf-dev protobuf-compiler这个不知道是什么问题 ...

  4. Java中接口与抽象类的异同

    定义(以下是百度百科中的定义): Java接口:Java接口是一系列方法的声明,是一些方法特征的集合,一个接口只有方法的特征没有方法的实现,因此这些方法可以在不同的地方被不同的类实现,而这些实现可以具 ...

  5. linux完整卸载mysql数据库

    由于本机测试环境数据库装错了,需要卸载数据库,记录一下 yum -y remove mysql find / -name mysql /etc/selinux/targeted/active/modu ...

  6. SharpCompress 压缩解压

    public class SharpCompressHelper { public static void UnRAR(string srcUrl,string targetUrl) { using ...

  7. pyhton函数

    函数编写文档 放在函数开头的字符串称为文档字符串(docstring),将作为函数的一部分存储起来 def square(x): 'Calculates the square of the numbe ...

  8. docker部署jar工程

    1.把要部署的功能打成jar 工程目录结构 pom文件 <?xml version="1.0" encoding="UTF-8"?> <pro ...

  9. jquery result属性 语法

    jquery result属性 语法 作用:result 属性包含由被指定事件触发的事件处理器返回的最后一个值,除非这个值未定义.大理石平台精度等级 语法:event.resul 参数: 参数 描述 ...

  10. jquery die()方法 语法

    jquery die()方法 语法 作用:die() 方法移除所有通过 live() 方法向指定元素添加的一个或多个事件处理程序.直线电机参数 语法:$(selector).die(event,fun ...