阶段3 2.Spring_10.Spring中事务控制_6 spring基于XML的声明式事务控制-配置步骤
环境搭建
新建工程

把对应的依赖复制过来

src下内容复制

配置spring中的声明事物
找到bean.xml开始配置
配置事物管理器

里面需要注入DataSource

2-配置事物通知
<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的声明式事务控制-配置步骤的更多相关文章
- spring基于XML的声明式事务控制
<?xml version="1.0" encoding="utf-8" ?><beans xmlns="http://www.sp ...
- spring基于xml的声明式事务控制配置步骤
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.sp ...
- Spring中基于XML的声明式事务控制配置步骤
1.配置事务管理器 2.配置事务的通知 此时,我们就需要导入事务的约束 tx名称空间和约束,同时也需要aop的 使用tx:advice标签配置事务通知 属性: id:给事务通知起一个唯一标识 tran ...
- 基于XML的声明式事务控制
1.maven依赖 <?xml version="1.0" encoding="UTF-8"?> <project xmlns="h ...
- spring基于注解的声明式事务控制
package com.hope.service.impl;import com.hope.dao.IAccountDao;import com.hope.domain.Account;import ...
- Spring中的事物管理,用 @Transactional 注解声明式地管理事务
事物: 事务管理是企业级应用程序开发中必不可少的技术, 用来确保数据的 完整性和 一致性. 事务就是一系列的动作, 它们被当做一个单独的工作单元. 这些动作要么全部完成, 要么全部不起作用 事务的四 ...
- SpringMVC+Spring+Mybatis整合,使用druid连接池,声明式事务,maven配置
一直对springmvc和mybatis挺怀念的,最近想自己再搭建下框架,然后写点什么. 暂时没有整合缓存,druid也没有做ip地址的过滤.Spring的AOP简单配置了下,也还没具体弄,不知道能不 ...
- 阶段3 2.Spring_10.Spring中事务控制_7 spring基于注解的声明式事务控制
创建新项目 复制上一个pom.xml的内容.依赖和打包的方式 再复制src的代码过来 bean.xml.多导入context的声明 Service的实现类增加注解 dao的set方法删掉 通过Auto ...
- 28Spring_的事务管理_银行转账业务加上事务控制_基于注解进行声明式事务管理
将applicationContext.xml 和 AccountServiceImpl 给备份一个取名为applicationContext2.xml 和 AccountServiceImpl2.j ...
随机推荐
- Codeforces 992 范围内GCD,LCM要求找一对数 衣柜裙子期望
A /*Huyyt*/ #include<bits/stdc++.h> #define mem(a,b) memset(a,b,sizeof(a)) using namespace std ...
- Hibernate的缓存(收集)
(1)缓存就是把以前从数据库中查询出来和使用过的对象保存在内存中(一个数据结构中),这个数据结构通常是或类似Hashmap,当以后要使用某个对象 时,先查询缓存中是否有这个对象,如果有则使用缓存中的对 ...
- Java8中重要的收集器Collector
Collector介绍 Java8的stream api能很方便我们对数据进行统计分类等工作,函数式编程的风格让我们方便并且直观地编写统计代码. 例如: Stream<Integer> s ...
- qt打印输出到控制台
创建工程的时候是QT Console Application 1.项目->run->Run in terminal 2.pro文件中添加 CONFIG +=console thread ...
- Mongodb的锁 原子性 隔离性 一致性
读写锁 Mongodb使用读写锁来来控制并发操作: 当进行读操作的时候会加读锁,这个时候其他读操作可以也获得读锁.但是不能或者写锁. 当进行写操作的时候会加写锁,这个时候不能进行其他的读操作和写操作. ...
- Docker从0开始之部署一套2048
创建容器并运行程序 [root@localhost ~]# docker run -d -p 8888:80 daocloud.io/daocloud/dao-2048:master-a2c564e ...
- fixed固定时弹窗上的input被软键盘遮住的问题
<div class="pwhCover"> <div class="pwhCon"> <div class="pwhT ...
- 如何解决tab栏切换只发一次请求的问题
用的antd的tab栏组件,发现切换tab栏只在componentDidMount里面发了一次请求,后来发现是缓存问题,于是用activeKey再次进行了判断,代码如下:
- JS 跳转后保持当前参数
跳转 var data = str+"&jc=0"+ "&data=" + $("form").serialize().re ...
- 计算机网络(七),TCP与UDP的区别
七.TCP与UDP的区别 1.面向连接VS无连接 TCP面向连接而UDP面向无连接的,TCP是和单对单传送数据,UDP适合多波发布 2.可靠性 TCP利用握手,确认,重传机制提供了可靠性保证,UDP可 ...


