阶段3 2.Spring_10.Spring中事务控制_10spring编程式事务控制2-了解
在业务层声明 transactionTemplate 并且声称一个set方法等着spring来注入

在需要事物控制的地方执行 execute。但是这个execute需要一个参数

需要的参数是TransactionCollback但是这个是一个接口。想用的话就需要找他它的实现类

这里不找实现类,就写匿名内部类



生成未实现的方法。生成的方法就叫做doInTransaction

就可以把我们的主要代码挪进来






这样涉及到事务提交的地方。都需要代码加在transactionTemplate的execute方法里面。这样产生很多重复性的代码

背离了AOP的思想。重复代码提取出来

编程式的事务可以实现。但是由灵活变成 不灵活了。

Service需要注入模板对象

运行测试

事务被控制住了

注释异常

转账也成功

因为重复代码比较多,所以出厂的记录不高
阶段3 2.Spring_10.Spring中事务控制_10spring编程式事务控制2-了解的更多相关文章
- spring boot中的声明式事务管理及编程式事务管理
		
这几天在做一个功能,具体的情况是这样的: 项目中原有的几个功能模块中有数据上报的功能,现在需要在这几个功能模块的上报之后生成一条消息记录,然后入库,在写个接口供前台来拉取消息记录. 看到这个需求,首先 ...
 - Spring学习8-Spring事务管理(编程式事务管理)
		
一.Spring事务的相关知识 1.事务是指一系列独立的操作,但在概念上具有原子性. 比如转账:A账号-100, B账号+100,完成.这两个操作独立是没问题的. 但在逻辑上,要么全部完成,要么一 ...
 - 8.spring:事务管理(上):Spring的数据库编程、编程式事务管理
		
Spring的数据库编程 Spring框架提供了JDBC模板模式------>JdbcTemplate 简化了开发,在开发中并不经常是使用 实际开发更多使用的是Hibernate和MyBatis ...
 - Spring事务管理之编程式事务管理
		
© 版权声明:本文为博主原创文章,转载请注明出处 案例:利用Spring的编程式事务管理模拟转账过程 数据库准备 -- 创建表 CREATE TABLE `account`( `id` INT NOT ...
 - 事务之三:编程式事务、声明式事务(XML配置事务、注解实现事务)
		
Spring2.0框架的事务处理有两大类: JdbcTemplate操作采用的是JDBC默认的AutoCommit模式,也就是说我们还无法保证数据操作的原子性(要么全部生效,要么全部无效),如: Jd ...
 - 阶段3 2.Spring_10.Spring中事务控制_9 spring编程式事务控制1-了解
		
编程式的事物控制,使用的情况非常少,主要作为了解 新建项目 首先导入包坐标 复制代码 这里默认值配置了Service.dao和连接池其他的内容都没有配置 也就说现在是没有事物支持的.运行测试文件 有错 ...
 - 阶段3 2.Spring_10.Spring中事务控制_6 spring基于XML的声明式事务控制-配置步骤
		
环境搭建 新建工程 把对应的依赖复制过来 src下内容复制 配置spring中的声明事物 找到bean.xml开始配置 配置事物管理器 里面需要注入DataSource 2-配置事物通知 需要先导入事 ...
 - 阶段3 2.Spring_10.Spring中事务控制_4 spring中事务控制的一组API
		
分析aop的 xml 的代码.更直观一些 事务提交和回滚就是我们重复的代码 spring业余事务管理器,我们拿过来直接用就可以 提交和回滚的后面直接调用释放.所以释放资源之类就是多余的 在绑定连接到线 ...
 - 阶段3 2.Spring_10.Spring中事务控制_5 spring事务控制的代码准备
		
创建一个工程,只搭建环境不做配置.等配置的时候把这个项目相关的代码再复制到新项目里面 jar包的打包方式 导入包 事务控制也是基于AOP的.所以这里导入aspectjweaver 复制jdbcTemp ...
 
随机推荐
- Linux编译阻塞型驱动遇到'TASK_NORMAL' undeclared (first use in this function)问题解决办法
			
http://blog.csdn.net/qq_16405157/article/details/49281793
 - 隔离技术线程池(ThreadPool)和信号量(semaphore)
			
一.首先要明白Semaphore和线程池各自是干什么? 信号量Semaphore是一个并发工具类,用来控制可同时并发的线程数,其内部维护了一组虚拟许可,通过构造器指定许可的数量,每次线程执行操作时先通 ...
 - Zabbix Agent配置文件详解
			
# This is a config file for the Zabbix agent daemon (Unix)# To get more information about Zabbix, vi ...
 - jenkins之Extended Choice Parameter多选插件
 - 【转载】Java File操作汇总
			
转载自博客:https://passport.cnblogs.com/user/signin?ReturnUrl=https%3A%2F%2Fwww.cnblogs.com%2F 本文通过大量的示例, ...
 - mvn高级构建
			
指定pom文件,打包指定的module,并且自动打包这个模块所依赖的其他模块. mvn clean install -f vmc-business-parent/pom.xml -pl vmc-sch ...
 - noi.ac NA536 【打地鼠】
			
又一道可写的小清新思维题 其实想到倒着做了,然而还是因为T1害人不浅(我太菜了),所以并没有写 考虑两个局面不同,显然至少打了一次地鼠,基于操作的颜色覆盖性质,我们可以考虑把操作倒着做,对于一个X点, ...
 - JavaWEB开发05_Bootstrap
			
上次课内容:什么JQ : write less do more 写更少的代码,做更多的事情 javascript函数库 基本选择器:  ID选择器: #ID名称  类选择器: .类名  元素选择 ...
 - orm查询优化 MTV和MVC模型 字段的chioces参数 Ajax
			
目录 一.ORM查询优化 1. all()查询 2. only()/defer()方法 (1)only()方法 (2)defer()方法 3. select_related()/prefetch_re ...
 - Python基础-day05
			
高级变量类型 目标 列表 元组 字典 字符串 公共方法 变量高级 知识点回顾 Python 中数据类型可以分为 数字型 和 非数字型 数字型 整型 (int) 浮点型(float) 布尔型(bool) ...