Spring_day03--Spring的事务管理
Spring的事务管理
事务概念
|
1 什么事务 事务是操作中最基本的单元,表示一组操作要么都成功,有一个失败那么所有都失败。 2 事务特性 原子性 一致性 隔离性 持久性 3 不考虑隔离性产生读问题 隔离性:多个事务之间没有影响 (1)脏读 (2)不可重复读 (3)虚读 4 解决读问题 (1)设置隔离级别 |
Spring事务管理api
|
在学hibernate时要写很多行代码实现,创建sessionfactory session 开启提交回滚事务。要自己写代码操作事务,等用到spring后事务的代码就不用我们写了,交给spring通过配置来完成 1 spring事务管理两种方式 第一种 编程式事务管理(不用) 第二种 声明式事务管理 (1) 基于xml配置文件实现 (2) 基于注解实现 2 spring事务管理的api介绍
(1)spring针对不同的dao层框架,提供接口不同的实现类
(2)首先 配置事务管理器 事务管理器有接口有实现类,创建该类对象,用bean id配置即可 |
搭建转账环境
|
1 创建数据库表account,添加数据
2 创建service和dao类,完成注入关系
在bean.xml中引入约束,并在项目中导入aop tx等包
(1)service层又叫业务逻辑层 (2)dao层,单纯对数据库操作层,在dao层不添加业务 (3)需求:小王 转账 1000 给 小马 - 小王少1000 - 小马多1000 OrderDao.java
OrdersService.java
3 产生问题: (1)如果小王少了1000之后,出现异常,小马不会多1000,钱丢失了 4 解决: (1)添加事务解决,出现异常进行回滚操作 |
声明式事务管理(xml配置)
|
1 配置文件方式使用aop思想配置 第一步 配置事务管理器,指定对那个数据库进行操作
第二步 配置事务增强
第三步 配置切面
|
声明式事务管理(注解)
|
第一步 配置事务管理器
第二步 配置事务注解
第三步 在要使用事务的方法所在类上面添加注解
|
Spring_day03--Spring的事务管理的更多相关文章
- Spring的事务管理
事务 事务:是逻辑上一组操作,要么全都成功,要么全都失败. 事务特性(ACID) 原子性:事务不可分割 一致性:事务执行的前后,数据完整性保持一致 隔离性:一个事务执行的时候,不应该受到其他事务的打扰 ...
- spring笔记--事务管理之声明式事务
事务简介: 事务管理是企业级应用开发中必不可少的技术,主要用来确保数据的完整性和一致性, 事务:就是一系列动作,它们被当作一个独立的工作单元,这些动作要么全部完成,要么全部不起作用. Spring中使 ...
- Spring应用——事务管理
事务基础:请参看:http://www.cnblogs.com/solverpeng/p/5720306.html 一.Spring 事务管理 1.前提:事务管理器 在使用 Spring 声明式事务管 ...
- spring+mybatis事务管理
spring+mybatis事务管理 最近在和朋友做一个项目,考虑用springmvc+mybatis来做,之前在公司工作吧,对于数据库这块的配置也有人再弄,最近因为这个项目,我就上网学习了一些关于数 ...
- spring,mybatis事务管理配置与@Transactional注解使用[转]
spring,mybatis事务管理配置与@Transactional注解使用[转] spring,mybatis事务管理配置与@Transactional注解使用 概述事务管理对于企业应用来说是至关 ...
- Spring高级事务管理难点剖析
1Spring事务传播行为 所谓事务传播行为就是多个事务方法相互调用时,事务如何在这些方法间传播.Spring支持7种事务传播行为 PROPAGATION_REQUIRED(加入已有事务) 如果当前没 ...
- CSDN上看到的一篇有关Spring JDBC事务管理的文章(内容比较全) (转)
JDBC事务管理 Spring提供编程式的事务管理(Programmatic transaction manage- ment)与声明式的事务管理(Declarative transaction ma ...
- Spring之事务管理
事务管理对于企业应用至关重要.它保证了用户的每一次操作都是可靠的,即便出现了异常的访问情况,也不至于破坏后台数据的完整性. 就像银行的自助取款机,通常都能正常为客户服务,但是也难免遇到 ...
- Mybatis整合Spring实现事务管理的源码分析
一:前言 没有完整看完,但是看到了一些关键的地方,这里做个记录,过程会有点乱,以后逐渐补充最终归档为完整流程:相信看过框架源码的都知道过程中无法完全确定是怎样的流程,毕竟不可能全部都去测试一遍 ,但是 ...
- Hibernate与Spring的事务管理
什么是事务 这个问题比较大,按照我的理解就是,一个事务内的n个操作,要么全部完成,一旦有一个操作有问题,那么所有的操作都全部回滚. Jdbc的事务 首先,大家已经知道了,事务说白了就是一个词----统 ...
随机推荐
- .Net 两大利器Newtonsoft.NET和Dapper
你可以使用ado.net返回的DataTable让Newtonsoft.NET来序列化成Json. 当然你可以使用Dapper返回的List让Newtonsoft.NET来序列化成JSON. 参考资料 ...
- easyui form表单提交标准格式
$("#temForm").form('submit', { url: '', queryParams: {}, cache: false, type: 'POST', dataT ...
- 【JS】jQuery设置定时器,访问服务器(PHP示例)配合微信、支付宝原生支付,跳转web网页
废话不多说,直接上代码: 把下面的js放在html的</body>即可 <!-- 设置页面定时器,3秒查询一次数据库该订单状态,ok就跳走 --xzz1115> <scr ...
- LeetCode-344:Reverse String
This is a "Pick One" Problem :[Problem:344-Reverse String] Write a function that takes a ...
- EF Code First 注意事项
1.异常“实体类型不存在于上下文中” Context类中不包含该实体类型的DbSet,有可能关联关系没有正确设置
- jqury插件编写
sae中短信验证码: ; (function($) { $(document).ready(function() { if (parent && parent.location.hre ...
- -[__NSArrayI removeAllObjects]: unrecognized selector sent to instance 0x7fa8dc830110
问题 今天做项目,遇到了这个问题 -[__NSArrayI removeAllObjects]: unrecognized selector sent to instance 0x7fa8dc8301 ...
- Python字符与ASCII码转换
有两个内置函数,记得以前在<Python Cookbook>里看到过. >>>print ord('a') 97 >>>print chr(97) a
- dp之完全背包poj2063
题意:求投资k年获得最大投资,每年都选最大利息的方案进行投资k年后就可以得到最多的人民币. 注意:每一年收到的利息都可以作为下一年的本金......其实从测试数据来看,是很好看出来的...... 思路 ...
- session退出页面
简单的session退出页面,jsp: <%@ page language="java" contentType="text/html; charset=utf-8 ...
















