Spring的事务到底该给Dao配置还是给Service配置?
2015-10-19 12:50
477 查看
Spring事务为业务逻辑进行事务管理,保证业务逻辑上数据的原子性。
事务得根据项目性质来细分:事务可以设置到三个层面(dao层、service层和web层)。
第一:web层事务,这一般是针对那些安全性要求较高的系统来说的。例如电子商务网站。粒度小,一般系统用不着这么细。
第二:service层事务,这是一常见的事务划分, 将事务设置在业务逻辑上,只要业务逻辑出错或异常就事务回滚。粒度较小,一般推荐这种方式。
第三:数据持久层数据务,也就是常说的数据库事务。这种事务在安全性方面要求低。就是给一个简单的增删改之类的操作增加事务操作。粒度大
给Service层配置事务,因为一个Service层方法操作可以关联到多个DAO的操作。在Service层执行这些Dao操作,多DAO操作有失败全部回滚,成功则全部提交。
事务分为业务事务和系统事务,业务事务也就是业务逻辑上操作的一致性,系统事务自然就是指真正的数据库事务,
Spring配置事务的是为了什么进行管理,当然是为业务逻辑进行事务管理,保证业务逻辑上数据的原子性;
Dao层是什么,数据访问层,是不应该包含业务逻辑的,这就是和Service层的不同;
Service层就是业务逻辑层,事务的管理就是为Service层上的保证。
事务得根据项目性质来细分:事务可以设置到三个层面(dao层、service层和web层)。
第一:web层事务,这一般是针对那些安全性要求较高的系统来说的。例如电子商务网站。粒度小,一般系统用不着这么细。
第二:service层事务,这是一常见的事务划分, 将事务设置在业务逻辑上,只要业务逻辑出错或异常就事务回滚。粒度较小,一般推荐这种方式。
第三:数据持久层数据务,也就是常说的数据库事务。这种事务在安全性方面要求低。就是给一个简单的增删改之类的操作增加事务操作。粒度大
给Service层配置事务,因为一个Service层方法操作可以关联到多个DAO的操作。在Service层执行这些Dao操作,多DAO操作有失败全部回滚,成功则全部提交。
事务分为业务事务和系统事务,业务事务也就是业务逻辑上操作的一致性,系统事务自然就是指真正的数据库事务,
Spring配置事务的是为了什么进行管理,当然是为业务逻辑进行事务管理,保证业务逻辑上数据的原子性;
Dao层是什么,数据访问层,是不应该包含业务逻辑的,这就是和Service层的不同;
Service层就是业务逻辑层,事务的管理就是为Service层上的保证。
相关文章推荐
- JAVA调用易信接口向指定好友推送消息(二)POST测试
- JavaSE知识点个人总结
- ubuntu 14.04 安装java8
- 权限设计,以及使用优秀的权限框架shiro整合SpringMVC
- JAVA调用易信接口向指定好友推送消息(一)背景需求
- <学习笔记>JAVA 的 keytool
- StrutsPrepareAndExecuteFilter的作用
- 从头认识java-1.6 多态
- 从头认识java-1.6 多态
- Java基础--异常
- 使用通配符配置struts.xml文件,使得符合约定优于配置
- 关于在Ubuntu下安装Java
- Java正则表达式入门基础篇(新手必看)
- Android studio导入eclipse项目且不改变目录结构
- MyEclipse修改jsp默认打开方式
- java 游戏高级编程中 的对象串行化 存取
- java.lang.ClassNotFoundException: javax.el.ELResolver错误解决办法
- eclipse经常未响应优化
- Eclipse中快捷键的使用
- eclipse 优化 经常未响应解决办法