Spring事务为业务逻辑进行事务管理,保证业务逻辑上数据的原子性。

事务得根据项目性质来细分:事务可以设置到三个层面(dao层、service层和web层)。

第一:web层事务,这一般是针对那些安全性要求较高的系统来说的。例如电子商务网站。粒度小,一般系统用不着这么细。

第二:service层事务,这是一常见的事务划分, 将事务设置在业务逻辑上,只要业务逻辑出错或异常就事务回滚。粒度较小,一般推荐这种方式。

第三:数据持久层数据务,也就是常说的数据库事务。这种事务在安全性方面要求低。就是给一个简单的增删改之类的操作增加事务操作。粒度大

给Service层配置事务,因为一个Service层方法操作可以关联到多个DAO的操作。在Service层执行这些Dao操作,多DAO操作有失败全部回滚,成功则全部提交。

事务分为业务事务和系统事务,业务事务也就是业务逻辑上操作的一致性,系统事务自然就是指真正的数据库事务,

Spring配置事务的是为了什么进行管理,当然是为业务逻辑进行事务管理,保证业务逻辑上数据的原子性;

Dao层是什么,数据访问层,是不应该包含业务逻辑的,这就是和Service层的不同;

Service层就是业务逻辑层,事务的管理就是为Service层上的保证。

java事务 Dao层_spring事务到底用于service层还是dao层相关推荐

  1. spring事务到底用于service层还是dao层

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

  2. mysql事务传播属性_Spring事务传播属性和隔离级别详细介绍

    1 事务的传播属性(Propagation) 1) REQUIRED ,这个是默认的属性 Support a current transaction, create a new one if none ...

  3. java 回滚异常_Spring事务管理只对出现运行期异常进行回滚

    Spring的事务管理默认只对出现运行期异常(java.lang.RuntimeException及其子类)进行回滚. 如果一个方法抛出Exception或者Checked异常,Spring事务管理默 ...

  4. 事务里面捕获异常_spring 事务回滚

    1.遇到的问题 当我们一个方法里面有多个数据库保存操作的时候,中间的数据库操作发生的错误.伪代码如下: 期待的情况:发生错误之前的所有数据库保存操作都回滚,即不保存 正常情况:前面的数据库操作会被执行 ...

  5. java spring 事务传播_spring事务传播机制实例讲解

    天温习spring的事务处理机制,总结如下 对于SQL事务的概念以及ACID性质,可以参见我的另一篇博文 http://kingj.iteye.com/admin/blogs/1675011 spri ...

  6. java事务传播机制事例_Spring事务传播机制

    addBook()代码 Java代码  收藏代码 public void addBook() throws Exception{ this.jdbcTemplate.execute(ADD_BOOK) ...

  7. java 配置嵌套事务_Spring 事务嵌套的配置

    问题 在使用Spring管理Service层事务时,会遇到service方法事务嵌套的问题. 默认情况下,service方法有自己独立的事务,如果一个复杂的service方法中,调用了多个事务操作,中 ...

  8. java 事务实现原理_Spring中事务用法示例及实现原理详解

    前言 Spring并不直接管理事务,而是提供了多种事务管理器,他们将事务管理的职责委托给Hibernate或者JTA等持久化机制所提供的相关平台框架的事务来实现. 关于事务,简单来说,就是为了保证数据 ...

  9. java事务什么时候回滚_spring事务什么时候会自动回滚

    在java中异常的基类为Throwable,他有两个子类xception与Errors.同时RuntimeException就是Exception的子类,只有RuntimeException才会进行回 ...

最新文章

  1. 空缺十年,百度再任命CTO!加盟十年,王海峰现集AI大权为一身
  2. 网站排名好却没流量到底是什么环节出了问题?
  3. linux 指令tftp传输文件_Linux tftp 命令用法详解-Linux命令大全(手册)
  4. 详解Python中的JSON以及在Python中使用JSON
  5. LeetCode 101对称二叉树-简单
  6. android 使用Binder通信
  7. python判断密码是否正确三次机会_python密码错误三次锁定(实例讲解)
  8. Spring高级之注解@Bean详解(超详细)
  9. Oracle主要概念汇总
  10. 2018大厂高级前端面试题汇总
  11. 关于visual studio 2005的中文版下载(最新详细下载点)
  12. 把老婆训练成女黑客的漏洞大神黄正|宅客故事
  13. Linux怎么进入根目录查看文件
  14. 【实战总结】根据地图经纬度及范围查询坐标点信息
  15. 程序员接私活的6个网站,你有技术就有钱!
  16. SQL 取数值小数后两位,但不四舍五入。
  17. Pycharm的快捷键
  18. Linux删除只读文件系统
  19. pytest之执行测试pytest.main()的使用
  20. 【题解】同济线代习题二 8.1

热门文章

  1. 互联网时代的改变,零食品牌崛起,传统零食产业如何“逆袭”?
  2. 2022最新小米手机报价单曝光了
  3. 罗友之家服务器文件管理升级小记
  4. PHP开发的爱养车网站源码 养车O2O平台源码
  5. noi题库(noi.openjudge.cn) 1.7编程基础之字符串T31——T35
  6. GAERF: predicting lncRNA-disease associations by graph auto-encoder and random forest(通过图自动编码器和随机森林)
  7. 第36讲: 使用Jeb工具反编译安卓APK
  8. spark on k8s: master pod kube-proxy-mkbp7 Evicte -- The node was low on resource: ephemeral-storag
  9. Day3 确知信号的类型、频域性质和时域性质
  10. 宅男程序员不会告诉你用Java实现用一张照片进行GPS定位这么简单