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层相关推荐

  1. java事务 Dao层_spring事务到底用于service层还是dao层

    Spring事务为业务逻辑进行事务管理,保证业务逻辑上数据的原子性. 事务得根据项目性质来细分:事务可以设置到三个层面(dao层.service层和web层). 第一:web层事务,这一般是针对那些安 ...

  2. java action dao_java中Action层、Service层和Dao层的功能区分

    一.Action/Service/DAO简介: Action是管理业务(Service)调度和管理跳转的. Service是管理具体的功能的. Action只负责管理,而Service负责实施. DA ...

  3. [转]JAVA中Action层, Service层 ,modle层 和 Dao层的功能区分

    首先这是现在最基本的分层方式,结合了SSH架构.modle层就是对应的数据库表的实体类.Dao层是使用了Hibernate连接数据库.操作数据库(增删改查).Service层:引用对应的Dao数据库操 ...

  4. Service 层和 Dao 层有必要为每个类都加上接口吗?

    以下文章来源方志朋的博客,回复"666"获面试宝典  作者:架构思维 toutiao.com/i6882356844245975563 前几天刷头条又刷到了「Service层和Da ...

  5. java sdi接口是什么意思_JAVA中Action层, Service层 ,modle层 和 Dao层的功能区分

    首先这是现在最基本的分层方式,结合了SSH架构.modle层就是对应的数据库表的实体类.Dao层是使用了Hibernate连接数据库.操作数据库(增删改查).Service层:引用对应的Dao数据库操 ...

  6. Action层, Service层 ,modle层 和 Dao层的功能区分【和语言无关,只是为了了解这几个层是干什么的】

    来源:http://www.xuebuyuan.com/2153333.html  Action主要的功能就是组织service的,比如你要做权限验证,那么请求会被Action获取,那么如何验证呢?A ...

  7. service层直接调用service层还是dao层

    问题引入: java web项目开发中spring service层直接调用service层还是dao层,哪个更合理? 一.初步理解 service层作为一个业务逻辑处理层,我若直接调用dao层,那么 ...

  8. 在 Java Web 项目中,Service 层和 Dao 层真的有必要每个类都加上接口吗

    作者 l 会点代码的大叔(CodeDaShu) 很多程序员在刚开始工作的时候,接触到的项目都是这样做的:项目的代码被分成 Controller.Service.Dao 层,一个接口对应一个实现类,然后 ...

  9. 关于service层、dao层,以及O/R Mapping之间的思考

    部门最近正式进入oo的开发,采用了类似于petshop4的层次结构,简单来说,service层调用dao(当然是用配置文件+反射的方式),dao通过ibatis.net完成从数据库中的table到do ...

最新文章

  1. zynq学习01 zynq 单独使用PL模块点亮led
  2. 【iOS开发-8】UIButton类型属性简单归纳以及自定义按钮的设置
  3. Python的yield关键字
  4. 异常数据4种剔除方法_数据分析系列 22/32 | 9种常用的数据分析方法
  5. 笔记本能连上WIFI网络,但是无法上网怎么办
  6. JavaScript入门介绍 1 2021/02/27
  7. MySQL 优化策略
  8. 中关村海龙大厦-买本上当经历给大家提个醒
  9. 在安装mysql出现的错误以及解决方法
  10. 探索软件设计模式(二)
  11. android之修改gradle源
  12. wince6.0 OK6410 启动NandFlash路径下的程序快捷键
  13. 洛谷 1192:台阶问题(递推,DP)
  14. 毛星云Opencv之图像修补综合示例程序
  15. 联合概率分布、边缘概率分布
  16. java 变量监听_java main函数里面的变量i怎么获取addActionListener监听里jtf_username.getText()的值?...
  17. 【软件需求工程与建模】13组组队项目——项目总结
  18. Prometheus普罗米修斯调研笔记
  19. 5个超实用技巧:用trello提高scrum项目管理效率
  20. MATLAB 画柱状图:更改横轴显示内容,调整横轴显示角度,纵轴加百分号%,调整纵轴显示范围,柱状图顶添加数字

热门文章

  1. 判断当前用户是否为root
  2. Qt:Windows编程—Qt实现本地服务管理
  3. 面试官:什么是JDK什么是JRE?服务器可以只安装JRE吗?
  4. python中的map、filter、reduce函数
  5. Largest Number 179
  6. Linux 统计某个字符串出现的次数
  7. 6个特征,判断你的领导值不值得追随
  8. 一个HTTP请求,把网站打裂开了!
  9. 阿里最后一面,高并发下如何设计一个秒杀系统?
  10. 再见 Jenkins !几行脚本搞定自动化部署,这款神器有点厉害!