spring事务到底用于service层还是dao层
Spring事务为业务逻辑进行事务管理,保证业务逻辑上数据的原子性。
事务得根据项目性质来细分:事务可以设置到三个层面(dao层、service层和web层)。
第一:web层事务,这一般是针对那些安全性要求较高的系统来说的。例如电子商务网站。粒度小,一般系统用不着这么细。
第二:service层事务,这是一常见的事务划分, 将事务设置在业务逻辑上,只要业务逻辑出错或异常就事务回滚。粒度较小,一般推荐这种方式。
第三:数据持久层数据务,也就是常说的数据库事务。这种事务在安全性方面要求低。就是给一个简单的增删改之类的操作增加事务操作。粒度大
给Service层配置事务,因为一个Service层方法操作可以关联到多个DAO的操作。在Service层执行这些Dao操作,多DAO操作有失败全部回滚,成功则全部提交。
事务分为业务事务和系统事务,业务事务也就是业务逻辑上操作的一致性,系统事务自然就是指真正的数据库事务,
Spring配置事务的是为了什么进行管理,当然是为业务逻辑进行事务管理,保证业务逻辑上数据的原子性;
Dao层是什么,数据访问层,是不应该包含业务逻辑的,这就是和Service层的不同;
Service层就是业务逻辑层,事务的管理就是为Service层上的保证。
转载于:https://www.cnblogs.com/leigang1314/p/5552045.html
spring事务到底用于service层还是dao层相关推荐
- java事务 Dao层_spring事务到底用于service层还是dao层
Spring事务为业务逻辑进行事务管理,保证业务逻辑上数据的原子性. 事务得根据项目性质来细分:事务可以设置到三个层面(dao层.service层和web层). 第一:web层事务,这一般是针对那些安 ...
- java action dao_java中Action层、Service层和Dao层的功能区分
一.Action/Service/DAO简介: Action是管理业务(Service)调度和管理跳转的. Service是管理具体的功能的. Action只负责管理,而Service负责实施. DA ...
- [转]JAVA中Action层, Service层 ,modle层 和 Dao层的功能区分
首先这是现在最基本的分层方式,结合了SSH架构.modle层就是对应的数据库表的实体类.Dao层是使用了Hibernate连接数据库.操作数据库(增删改查).Service层:引用对应的Dao数据库操 ...
- Service 层和 Dao 层有必要为每个类都加上接口吗?
以下文章来源方志朋的博客,回复"666"获面试宝典 作者:架构思维 toutiao.com/i6882356844245975563 前几天刷头条又刷到了「Service层和Da ...
- java sdi接口是什么意思_JAVA中Action层, Service层 ,modle层 和 Dao层的功能区分
首先这是现在最基本的分层方式,结合了SSH架构.modle层就是对应的数据库表的实体类.Dao层是使用了Hibernate连接数据库.操作数据库(增删改查).Service层:引用对应的Dao数据库操 ...
- Action层, Service层 ,modle层 和 Dao层的功能区分【和语言无关,只是为了了解这几个层是干什么的】
来源:http://www.xuebuyuan.com/2153333.html Action主要的功能就是组织service的,比如你要做权限验证,那么请求会被Action获取,那么如何验证呢?A ...
- service层直接调用service层还是dao层
问题引入: java web项目开发中spring service层直接调用service层还是dao层,哪个更合理? 一.初步理解 service层作为一个业务逻辑处理层,我若直接调用dao层,那么 ...
- 在 Java Web 项目中,Service 层和 Dao 层真的有必要每个类都加上接口吗
作者 l 会点代码的大叔(CodeDaShu) 很多程序员在刚开始工作的时候,接触到的项目都是这样做的:项目的代码被分成 Controller.Service.Dao 层,一个接口对应一个实现类,然后 ...
- 关于service层、dao层,以及O/R Mapping之间的思考
部门最近正式进入oo的开发,采用了类似于petshop4的层次结构,简单来说,service层调用dao(当然是用配置文件+反射的方式),dao通过ibatis.net完成从数据库中的table到do ...
最新文章
- zynq学习01 zynq 单独使用PL模块点亮led
- 【iOS开发-8】UIButton类型属性简单归纳以及自定义按钮的设置
- Python的yield关键字
- 异常数据4种剔除方法_数据分析系列 22/32 | 9种常用的数据分析方法
- 笔记本能连上WIFI网络,但是无法上网怎么办
- JavaScript入门介绍 1 2021/02/27
- MySQL 优化策略
- 中关村海龙大厦-买本上当经历给大家提个醒
- 在安装mysql出现的错误以及解决方法
- 探索软件设计模式(二)
- android之修改gradle源
- wince6.0 OK6410 启动NandFlash路径下的程序快捷键
- 洛谷 1192:台阶问题(递推,DP)
- 毛星云Opencv之图像修补综合示例程序
- 联合概率分布、边缘概率分布
- java 变量监听_java main函数里面的变量i怎么获取addActionListener监听里jtf_username.getText()的值?...
- 【软件需求工程与建模】13组组队项目——项目总结
- Prometheus普罗米修斯调研笔记
- 5个超实用技巧:用trello提高scrum项目管理效率
- MATLAB 画柱状图:更改横轴显示内容,调整横轴显示角度,纵轴加百分号%,调整纵轴显示范围,柱状图顶添加数字