博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
spring的事务管理有几种方式实现 (转自:http://blog.csdn.net/bopzhou/article/details/7094108)...
阅读量:6909 次
发布时间:2019-06-27

本文共 2394 字,大约阅读时间需要 7 分钟。

标签:
Spring+Hibernate的实质:就是把Hibernate用到的数据源Datasource,Hibernate的SessionFactory实例,事务管理器HibernateTransactionManager,都交给Spring管理。那么再没整合之前Hibernate是如何实现事务管理的呢?通过ServletFilter实现数据库事务的管理,这样就避免了在数据库操作中每次都要进行数据库事务处理。一.事务的4个特性:   原子性:一个事务中所有对数据库的操作是一个不可分割的操作序列,要么全做,要么全部做。   一致性:数据不会因为事务的执行而遭到破坏。   隔离性:一个事务的执行,不受其他事务(进程)的干扰。既并发执行的个事务之间互不干扰。   持久性:一个事务一旦提交,它对数据库的改变将是永久的。二.事务的实现方式:实现方式共有两种:编码方式;声明式事务管理方式。基于AOP技术实现的声明式事务管理,实质就是:在方法执行前后进行拦截,然后在目标方法开始之前创建并加入事务,执行完目标方法后根据执行情况提交或回滚事务。声明式事务管理又有两种方式:基于XML配置文件的方式;另一个是在业务方法上进行@Transactional注解,将事务规则应用到业务逻辑中。三.创建事务的时机:是否需要创建事务,是由事务传播行为控制的。读数据不需要或只为其指定只读事务,而数据的插入,修改,删除就需要事务管理了。一种常见的事务管理配置:事务拦截器TransactionInterceptor和事务自动代理BeanNameAutoProxyCreator相结合的方式 
PROPAGATION_REQUIRED,readOnly
PROPAGATION_REQUIRED,readOnly
PROPAGATION_REQUIRED,readOnly
PROPAGATION_REQUIRED,readOnly
PROPAGATION_REQUIRED,readOnly
PROPAGATION_REQUIRED
adminService
columnsService
newsService
crawlService
memberLevelService
memberService
categoryService
merService
cartService
ordersService
trafficService
true
transactionInterceptor
尤其注意:如下***********************************************************************************************************【以上的事务拦截器和事务自动代理方式实现原理:像Struts2一样,都是凭借强大的拦截器功能对业务逻辑方法的调用进行拦截,然后又BeanNameAutoProxyCreator自动生成事务代理,最后送事务管理器,统一管理】

转载于:https://www.cnblogs.com/yangmin-78819/p/5478492.html

你可能感兴趣的文章
文件迁移:将/home迁移到一个独立分区中
查看>>
python脚本按表备份MySQL数据库
查看>>
nio Selector 阻塞 唤醒 原理
查看>>
左旋转字符串
查看>>
android StringBuffer类的使用
查看>>
JSP/Servlet及相关技术详解(二)
查看>>
自动点胶机点胶不良率高是什么原因?
查看>>
Win2003中配置FTP服务,开启防火墙导致客户端无法连接【精华详解】
查看>>
【云计算】Linux从入门到精通
查看>>
oracle 解锁用户
查看>>
Hibernate与Mybatis/iBatis的区别
查看>>
Java源码学习之:Semaphore
查看>>
林仕鼎谈架构设计与架构师
查看>>
操作系统CnetOS_7—systemd管理实践指南
查看>>
cocos2d-x滚屏简单实现
查看>>
我的友情链接
查看>>
ThinkPHP的where方法的in操作符说明
查看>>
Maven的依赖
查看>>
MySQL 5.5 安装方法 详细图解
查看>>
也谈教育公平与户籍改革
查看>>