tnblog
首页
视频
资源
登录

事务管理-编程式事务和AOP改造编程式事务 02

3685人阅读 2022/7/22 19:05 总访问:1590160 评论:0 收藏:0 手机
分类: spring

事务控制方式

  • 编程式

  • 声明式(XML)

  • 声明式(注解)


一、案例介绍

模拟银行转账业务说明

银行转账操作中,涉及从A账户到B账户的资金转移操作。数据层仅提供单条数据的基础操作,未设计多账户间的业务操作。


案例
1、环境
1.1、坐标

  1. <!--        mybatis-->
  2. <dependency>
  3.     <groupId>org.mybatis</groupId>
  4.     <artifactId>mybatis</artifactId>
  5.     <version>3.5.3</version>
  6. </dependency>
  7. <!--mysql-->
  8. <dependency>
  9.     <groupId>mysql</groupId>
  10.     <artifactId>mysql-connector-java</artifactId>
  11.     <version>5.1.47</version>
  12. </dependency>
  13. <!--        spring-->
  14. <dependency>
  15.     <groupId>org.springframework</groupId>
  16.     <artifactId>spring-context</artifactId>
  17.     <version>5.1.9.RELEASE</version>
  18. </dependency>
  19. <!--spring的jdbc-->
  20. <dependency>
  21.     <groupId>org.springframework</groupId>
  22.     <artifactId>spring-jdbc</artifactId>
  23.     <version>5.1.9.RELEASE</version>
  24. </dependency>
  25. <!--druid-->
  26. <dependency>
  27.     <groupId>com.alibaba</groupId>
  28.     <artifactId>druid</artifactId>
  29.     <version>1.1.16</version>
  30. </dependency>
  31. <!--  mybatis-spring,spring与mybatis相关的一些包      -->
  32. <dependency>
  33.     <groupId>org.mybatis</groupId>
  34.     <artifactId>mybatis-spring</artifactId>
  35.     <version>1.3.0</version>
  36. </dependency>
  37. <!--junit-->
  38. <dependency>
  39.     <groupId>junit</groupId>
  40.     <artifactId>junit</artifactId>
  41.     <version>4.12</version>
  42.     <scope>test</scope>
  43. </dependency>
  44. <!--spring的text-->
  45. <dependency>
  46.     <groupId>org.springframework</groupId>
  47.     <artifactId>spring-test</artifactId>
  48.     <version>5.1.9.RELEASE</version>
  49. </dependency>
  50. <dependency>
  51.     <groupId>org.aspectj</groupId>
  52.     <artifactId>aspectjweaver</artifactId>
  53.     <version>1.9.4</version>
  54. </dependency>

1.2、

1.3、

1.4、

1.5、

1.6

1.7、数据库表信息

1.8、

2、添加事务
2.1、

2.2、

总结编程事务

2、整合aop
2.1、导入aop坐标

2.2、共性回滚方法

2.3、业务的修改

2.4、aop在xml的配置

评价

事务管理-声明式事务(注解)04

一、续写于务管理-声明式事务(XML格式)(TX命名空间管理事务)03,但是不要b、a这两个方法1、配置文件和业务层的变化其实...

事务管理-声明式事务(纯注解)05

1、2、3、配置文件类SpringConfig4、5、6、7、8、

Windows平台分布式架构实践 - 负载均衡

原文地址: https://www.cnblogs.com/atree/p/windows_loadbalancer.html 概述  最近.NET的世界开始闹腾了,微软官方终...

分布式-微服务-集群的区别

1.分布式将一个大的系统划分为多个业务模块,业务模块分别部署到不同的机器上,各个业务模块之间通过接口进行数据交互。区...

可输入下拉文本框,据输入,动态加载数据 jquery-editable-select

用到一个jquery-editable-select的控件github地址:https://github.com/indrimuska/jquery-editable-select这个插件的原理是...

Python学习 1-安装

Ptyhon非常简单易用的面向对象的脚本语言,跨平台 入门简单python分2个版本 Python2、Python3。Python 2.7 将于 2020 年结...

Python学习 2-基本语法

基础:python脚本语言,不需要编译(像C#、Java、PHP、C++需要编译成机器可识别的语言), 而直接由解释器解释,很多地方类似...

Python学习 3-爬虫基本介绍 及简单实例

爬虫爬虫就是一只猪,蜘蛛。。 网络蜘蛛。互联网是一个网由各个网站组成。无数的蜘蛛就在网上到处爬,根据网址从一个网站爬...

Redis基础安装操作-windows版

一、下载 redis官方没有提供windows版本,需要从微软的git下载releases版二、安装,启动1.解压出来 启动服务 可能会双击会...

Service-stack.redis配置连接池与读写分离(处理并发相关等)

配置连接池与读写分类 //写节点(主节点) List&lt;string&gt;writes=newList&lt;string&gt;(); writes.Add(&quot;123456a...

Service-stack.redis操作Redis 并发相关问题

1:不要循环去创建对象,循环去访问redis的时候要特别注意,应该传一个集合进去处理,而不是循环去处理2:要注意释放对象,使...

皓月有趣论题 - U盘或其他存储设备 存入数据后 质量是否发生改变

转自我的个人博客 http://blog.axibug.com之前、朋友提出“U盘或其他存储设备 存入数据后 质量是否发生改变”的问题。那么...

Python实例 1-日志抓取处理 补错(附日志小技巧)

有时候数据出了问题,可以从日志中恢复数据(如果你没记日志..没备份..→_→..)一、日志展示介绍个平常自己用的小方法,如...

Python实例 2-12306抢票(一) 登陆

开坑年关将近,终于对12306下手了,,平安夜撸代码,攻克了12306的登陆 2018-12-24 22:16:00没错 这篇博客就写从零开始的异...

Python实例 2-12306抢票(二) 下单

第二篇 刷票与下单1.记住登陆上一篇写了登陆:http://www.tnblog.net/cz/article/details/162 为了方便调试 不让每次登陆都...
没有个性,不需要签名
排名
4
文章
473
粉丝
3
评论
2
ICP备案 :渝ICP备18016597号-1
网站信息:2018-2025TNBLOG.NET
技术交流:群号656732739
联系我们:contact@tnblog.net
公网安备:50010702506256
欢迎加群交流技术