环境搭建

新建工程

把对应的依赖复制过来

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是我们业务层接口中的一个方法,它有一些实现

有这些属性


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

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

测试

当前实现类里面有异常

数据改回两个一千

运行测试方法


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

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

最新文章

  1. Vue-loader 开启压缩后的一些坑
  2. 用int类型表示最大公倍数
  3. MVC模型的理解
  4. mysql sql常用语句大全
  5. ASP.NET 5系列教程 (六): 在 MVC6 中创建 Web API
  6. 10个你必须掌握的超酷VI命令技巧
  7. Android OnTouchListener,OnClickListener和OnLongClickListener的关系
  8. touch事件学习
  9. http学习笔记一
  10. 使用堆栈结构进行字符串表达式(&quot;7*2-5*3-3+6/3&quot;)的计算
  11. cocos2d-x -------之笔记篇 3D动作说明
  12. 十天学Linux内核之第八天---构建Linux内核
  13. Cat 客户端如何构建调用链消息树
  14. 关于collectionView和tableView的两种cell的出列方法的区别
  15. 【一天一道LeetCode】#13. Roman to Integer
  16. DJango 前三天小结
  17. Linux tomcat
  18. 面向 Web 开发者的 Sublime Text 插件
  19. S3C6410 SPI全双工读写流程分析(原创)【转】
  20. 【NOIP模拟题】Graph(tarjan+dfs)

热门文章

  1. l洛谷P4779 【模板】单源最短路径(标准版)(dijkstra)
  2. vs code 保存显示无法写入文件的解决方法
  3. 用Python实现九九乘法表打印
  4. Spring中的IOC和AOP
  5. [洛谷P1607] 庙会班车
  6. python re.match与re.search的区别
  7. Sql Service中的分页
  8. jquery grid 显示隐藏列
  9. python3.6+selnium3+IE11问题及解决方法
  10. Selenium 日期控件处理