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思想配置 第一步 配置事务管理器,指定对那个数据库进行操作 第二步 配置事务增强 第三步 配置切面 |
声明式事务管理(注解)
第一步 配置事务管理器 第二步 配置事务注解 第三步 在要使用事务的方法所在类上面添加注解 |