网站建设模块怎样划分深圳排名seo

news/2025/9/27 14:39:47/文章来源:
网站建设模块怎样划分,深圳排名seo,开展门户网站建设,SEO案例网站建设1.3 事务进阶 前面我们通过spring事务管理注解Transactional已经控制了业务层方法的事务。接下来我们要来详细的介绍一下Transactional事务管理注解的使用细节。我们这里主要介绍Transactional注解当中的两个常见的属性#xff1a; 异常回滚的属性#xff1a;rollbackFor 事…1.3 事务进阶 前面我们通过spring事务管理注解Transactional已经控制了业务层方法的事务。接下来我们要来详细的介绍一下Transactional事务管理注解的使用细节。我们这里主要介绍Transactional注解当中的两个常见的属性 异常回滚的属性rollbackFor 事务传播行为propagation 我们先来学习下rollbackFor属性。 1.3.1 rollbackFor 我们在之前编写的业务方法上添加了Transactional注解来实现事务管理。 Transactional public void delete(Integer id){//根据部门id删除部门信息deptMapper.deleteById(id);//模拟异常发生int i 1/0; ​//删除部门下的所有员工信息empMapper.deleteByDeptId(id);   } 以上业务功能delete()方法在运行时会引发除0的算数运算异常(运行时异常)出现异常之后由于我们在方法上加了Transactional注解进行事务管理所以发生异常会执行rollback回滚操作从而保证事务操作前后数据是一致的。 下面我们在做一个测试我们修改业务功能代码在模拟异常的位置上直接抛出Exception异常编译时异常 Transactional public void delete(Integer id) throws Exception {//根据部门id删除部门信息deptMapper.deleteById(id);//模拟异常发生if(true){throw new Exception(出现异常了~~~);} ​//删除部门下的所有员工信息empMapper.deleteByDeptId(id);   } 说明在service中向上抛出一个Exception编译时异常之后由于是controller调用service所以在controller中要有异常处理代码此时我们选择在controller中继续把异常向上抛。 DeleteMapping(/depts/{id}) public Result delete(PathVariable Integer id) throws Exception { //日志记录 log.info(根据id删除部门); //调用service层功能 deptService.delete(id); //响应 return Result.success(); } 重新启动服务后测试 抛出异常之后事务会不会回滚 现有表中数据 使用postman测试删除5号部门 发生了Exception异常但事务依然提交了 dept表中数据 通过以上测试可以得出一个结论默认情况下只有出现RuntimeException(运行时异常)才会回滚事务。 假如我们想让所有的异常都回滚需要来配置Transactional注解当中的rollbackFor属性通过rollbackFor这个属性可以指定出现何种异常类型回滚事务。 Slf4j Service public class DeptServiceImpl implements DeptService {Autowiredprivate DeptMapper deptMapper; ​Autowiredprivate EmpMapper empMapper; ​OverrideTransactional(rollbackForException.class)public void delete(Integer id){//根据部门id删除部门信息deptMapper.deleteById(id);//模拟异常发生int num id/0; ​//删除部门下的所有员工信息empMapper.deleteByDeptId(id);   } } 接下来我们重新启动服务测试删除部门的操作 控制台日志执行了删除3号部门的操作 因为异常又进行了事务回滚 数据表3号部门没有删除 结论 在Spring的事务管理中默认只有运行时异常 RuntimeException才会回滚。 如果还需要回滚指定类型的异常可以通过rollbackFor属性来指定。 1.3.3 propagation 1.3.3.1 介绍 我们接着继续学习Transactional注解当中的第二个属性propagation这个属性是用来配置事务的传播行为的。 什么是事务的传播行为呢 就是当一个事务方法被另一个事务方法调用时这个事务方法应该如何进行事务控制。 例如两个事务方法一个A方法一个B方法。在这两个方法上都添加了Transactional注解就代表这两个方法都具有事务而在A方法当中又去调用了B方法。 所谓事务的传播行为指的就是在A方法运行的时候首先会开启一个事务在A方法当中又调用了B方法 B方法自身也具有事务那么B方法在运行的时候到底是加入到A方法的事务当中来还是B方法在运行的时候新建一个事务这个就涉及到了事务的传播行为。 我们要想控制事务的传播行为在Transactional注解的后面指定一个属性propagation通过 propagation 属性来指定传播行为。接下来我们就来介绍一下常见的事务传播行为。 属性值含义REQUIRED【默认值】需要事务有则加入无则创建新事务REQUIRES_NEW需要新事务无论有无总是创建新事务SUPPORTS支持事务有则加入无则在无事务状态中运行NOT_SUPPORTED不支持事务在无事务状态下运行,如果当前存在已有事务,则挂起当前事务MANDATORY必须有事务否则抛异常NEVER必须没事务否则抛异常… 对于这些事务传播行为我们只需要关注以下两个就可以了 REQUIRED默认值 REQUIRES_NEW

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/919592.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

完整教程:AI 术语通俗词典:Diffusion Models(扩散模型)

完整教程:AI 术语通俗词典:Diffusion Models(扩散模型)pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consol…

pip安装依赖包报错内容为User defined options,Native files 如何解决

Visual Studio 生成工具可以帮助用户在 Windows 系统上编译和运行 C++ 程序等,以下是其安装教程:下载安装程序:打开浏览器,访问Visual Studio Build Tools 下载页面,找到 “下载” 按钮,点击下载 Build Tools fo…

上海网页制作模板云南seo刷关键词排名优化

安装好XenServer之后,可以找一台管理机器(目前主流系统都支持)安装XenCenter,通过XenCenter来实现对XenServer的管理。安装XenCenter: 安装.NET Framework3.5 然后可以下载安装中文版的XenCenter,下载地址&#xff1…

edu 107 E(概率期望, dp)

edu 107 E 一道很具有启发意义的概率期望题,需要从期望的本质来思考。 题目要求计算所有 \(2^{w}\) 种涂色方式可放多米诺骨牌的最大数量总和。按照常规想法思考是很困难的,需要换个角度:考虑每个可放置骨牌的 \(1\…

网站弹窗特效如何网上赚点零花钱

Spring有很多不同的模块。 所有这些对于具体目的都是有用的。 今天,我将讨论Spring Security。 该模块提供了灵活的方法来管理访问Web应用程序不同部分的许可。 在这篇文章中,我将研究Spring MVC , Hibernate , MySQL与Spring Sec…

做网站协议怎么签wordpress 视频

目前,不少企业都使用虚拟化/超融合运行 Kubernetes 和容器化应用。一些用户可能会有疑惑:既然 Kubernetes 可以部署在裸金属上,使用虚拟化不是“多此一举”吗? 在电子书《IT 基础架构团队的 Kubernetes 管理:从入门到…

2025 年空气离合器生产厂家推荐榜:电网冲击缓解技术与可靠性测评,单片空气离合器,多片空气离合器,空气离合器摩擦片,空气离合器密封件公司推荐

在矿山、冶金、水泥等重型工业领域,气动离合器作为磨矿机等大型设备的核心传动部件,其性能直接关系到生产稳定性与成本控制。当前行业正面临多重技术瓶颈:大功率电动机启动时产生的巨大电流常对电网造成强烈冲击,导…

Spring MVC的双向数据绑定

Spring MVC 是一个建立在Servlet API之上的模块化框架,它使用了Model-View-Controller(MVC)架构模式,并提供了一种分离关注点的方法来开发Web应用程序。在Spring MVC中,双向数据绑定是一个核心特性,它允许开发者…

抽象化编程(Abstraction in Programming)

抽象化编程(Abstraction in Programming)是面向对象编程(OOP)中一个非常重要的设计原则,它与我们前面讨论的封装、继承、多态紧密相关。抽象化编程的含义 核心思想: 关注于做什么(What),而不是如何做(How)。…

详细介绍:198种组合算法+优化BiLSTM神经网络+SHAP分析+新数据预测+多输出!深度学习可解释分析,强烈安利,粉丝必备!

详细介绍:198种组合算法+优化BiLSTM神经网络+SHAP分析+新数据预测+多输出!深度学习可解释分析,强烈安利,粉丝必备!2025-09-27 14:31 tlnshuju 阅读(0) 评论(0) 收藏 举报pre { white-space: pre !important; …

太原网站排名外包广州市工程交易中心官网

在面对日益增长的网络安全威胁时,DNS高防和IP高防作为防御策略发挥着重要的作用。虽然两者都旨在保护网络资源免受攻击,但它们在操作方式和防护重点上有着本质的不同。 DNS高防:保护域名解析服务DNS高防,全称是高防御的域名解析服…

网站关键词排名下降做网站 360的好不好

一、KeyStore描述 在 Android 开发中,KeyStore 是一个用于存储密钥和证书的安全容器。它提供了一种安全的方式来存储敏感信息,如密钥对、数字证书等,以防止它们被未授权的应用或攻击者访问。 KeyStore 通常用于加密数据、数字签名、TLS/SSL…

章丘网站优化美工培训班费用一般多少

这个是把<>过滤掉了所以只能用js的事件 ?weya"onfocus"alert(1337)" autofocus"

网站厨师短期培训班做网站实训心得

简单工厂模式、工厂模式和抽象工厂模式都是创建型设计模式&#xff0c;它们之间在目的、实现方式和适用场景上存在显著的区别。以下是对这三种模式的详细比较&#xff1a; 一、定义与目的 简单工厂模式&#xff08;Simple Factory Pattern&#xff09; 定义&#xff1a; 简单工…

STM32定时器(寄存器与HAL库实现) - 实践

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

微前端中iframe集成方式与应用微前端框架方式对比

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

配置RedisTemplate序列化机制

在Spring Boot应用程序中配置 RedisTemplate以实现特定序列化机制时,关键是要确保数据在保存到Redis时将Java对象转换成合适的格式,同时在读取时能够正确地将数据转换回Java对象。RedisTemplate提供了灵活的方式来自…

优化器(Optimizer)

优化器(Optimizer)是深度学习和机器学习中最核心的组件之一。 简单来说,优化器的作用就是指导模型如何学习。它决定了在反向传播计算出梯度(模型应该朝哪个方向调整)之后,模型应该以多大的“步伐”和什么样的方式…

为第三方网站做推广合肥seo排名扣费

打开题目 点击1到5号的结果 1号 2号 3号 4号 5号 这里直接令传入的id6 传入id1^1^1 逻辑符号|会被检测到&#xff0c;而&感觉成了注释符&#xff0c;&之后的内容都被替换掉了。 传入id1|1 直接盲注比较慢&#xff0c;还需要利用二分法来编写脚本 这里利用到大佬的脚…

阿里虚拟主机怎么做两个网站公司宣传折页模板

为了实现Windows主机与Linux服务器之间的资源共享&#xff0c;Linux操作系统提供了Samba服务&#xff0c;Samba服务为两种不同的操作系统架起了一座桥梁&#xff0c;使Linux系统和Windows系统之间能够实现互相通信&#xff0c;为广泛的Linux爱好者提供了极大方便。本文简要介绍…