网站建设及制作教程做一个企业网站多少钱

pingmian/2026/1/25 12:27:20/文章来源:
网站建设及制作教程,做一个企业网站多少钱,网站建设商,姑苏网站建设文章目录 1.几种常用的事务传播行为1.1 REQUIRED1.2 REQUIRES_NEW1.2 NESTED 2. 事务问题2.1 事务不生效#xff1f;2.2 事务不回滚#xff1f; 文章会分为两个部分来讲解#xff0c;第一部分是声明式事务的几种使用场景。第二部分包含事务没有生效#xff0c;没有回滚的情… 文章目录 1.几种常用的事务传播行为1.1 REQUIRED1.2 REQUIRES_NEW1.2 NESTED 2. 事务问题2.1 事务不生效2.2 事务不回滚 文章会分为两个部分来讲解第一部分是声明式事务的几种使用场景。第二部分包含事务没有生效没有回滚的情况。 1.几种常用的事务传播行为 在实际的应用开发中有几种事务传播行为比较常用主要包括以下几种 REQUIRED (默认行为): 这是最常用的传播行为。如果当前没有事务就新建一个事务如果已经存在事务就加入这个事务。适用于大多数需要事务管理的场景如任何需要保持数据完整性和一致性的操作。 REQUIRES_NEW: 始终启动一个新的事务。如果一个事务已经存在则先将这个存在的事务挂起。这个传播行为适用于需要完全独立于当前事务上下文执行的操作例如日志记录这些操作不应该被外部事务的影响而回滚。 NESTED: 如果当前存在事务则在嵌套事务内执行。如果当前没有事务则其行为与REQUIRED一样。嵌套事务是一个子事务它依赖于父事务。父事务失败时子事务会被回滚。子事务失败父事务可以决定是回滚还是继续执行。这适用于需要执行一系列操作其中一些操作可能需要独立于其它操作回滚的场景。 SUPPORTS: 如果当前存在事务则加入事务如果当前没有事务则以非事务方式执行。这适用于不需要事务管理的读操作但如果操作在事务环境中被调用则能够参与到事务中。 NOT_SUPPORTED: 总是非事务地执行并且挂起任何存在的事务。适用于不应该在事务环境中运行的长时间运行的操作。 但我个人认为前三种很好用后面两种则看情况了我没讲到的我认为用处不大可以忽略。 1.1 REQUIRED 默认的传播行为就是没有就新建否则就加入当前事务一般在在方法上加Transactional即可因为很简单就不放代码了后续会放上代码但注意该方法要被public修饰否则事务不会生效这个后面会细讲。 1.2 REQUIRES_NEW 我认为这个注解对于方法执行中加日志记录很有用因为不管方法成功或者失败我们都想记录下是哪里出了问题此时就可以用到这个注解点示例如下。 Service public class OrderService {Autowiredprivate LogService logService;Transactionalpublic void processOrder(Order order) {try {// ... 订单处理逻辑 ...// 模拟可能出现的异常if (someCondition) {throw new RuntimeException(订单处理出现异常);}// ... 更多订单处理逻辑 ...} catch (Exception e) {// 记录日志即使主事务失败日志事务仍然可以提交logService.recordLog(order, e.getMessage());throw e; // 重新抛出异常以确保主事务可以回滚}} }Service public class LogService {Autowiredprivate LogRepository logRepository;Transactional(propagation Propagation.REQUIRES_NEW)public void recordLog(Order order, String message) {LogEntry logEntry new LogEntry();logEntry.setOrderId(order.getId());logEntry.setMessage(message);logEntry.setTimestamp(new Date());logRepository.save(logEntry); // 保存日志到数据库} } 1.2 NESTED 这个注解提供了更完备的事务控制试想这么一个场景我的父方法需要被事务控制子方法中出现了异常我也不回滚但如果父方法中出现了异常则全部事务回滚。 好好思考下这个场景使用新建事务就做不到了因为那已经是两个事务了而嵌套事务则代表两个事务有关联但子事务的优先级很低以父方法中的代码为准代码如下。 注意我使用了noRollbackFor InventoryException.class 这将导致出现该异常会往上抛但是不回滚。 Service public class OrderService {Autowiredprivate InventoryService inventoryService;Transactional(rollbackForException.class)public void processOrder(Order order) {try {// ... 订单处理逻辑 ...// 调用扣减库存方法该方法在自己的嵌套事务中执行inventoryService.deductInventory(order);// ... 更多订单处理逻辑 ...// 模拟可能出现的异常if (someCondition) {throw new RuntimeException(订单处理出现异常);}} catch (Exception e) {// 处理异常父事务中的异常会导致整个事务包括嵌套事务回滚throw e;}} }Service public class InventoryService {Transactional(propagation Propagation.NESTED, noRollbackFor InventoryException.class)public void deductInventory(Order order) {// ... 库存扣减逻辑 ...// 如果出现特定条件抛出自定义异常这将只回滚当前嵌套事务if (someCondition) {throw new InventoryException(库存不足);}// ... 更多库存处理逻辑 ...} } 2. 事务问题 2.1 事务不生效 public 方法通常只有标注在 public 方法上的 Transactional 才会被Spring AOP代理捕获因此才会生效。 外部调用Spring AOP基于代理模式只有通过代理对象的外部调用方法时事务才会被触发。如果在同一类中使用this关键字调用另一个方法即使它被Transactional注解事务是不会被触发的。 所以只要满足了这两个条件事务就一定会生效了。 2.2 事务不回滚 异常的传播只有当异常从标注了Transactional的方法中抛出时事务才会回滚。如果在方法内部通过try-catch块捕获了异常并处理了那么事务不会自动回滚。手动回滚如果需要在catch块中回滚事务可以通过调用TransactionAspectSupport.currentTransactionStatus().setRollbackOnly()手动标记事务回滚。运行时异常和错误默认情况下Spring只会在出现运行时异常RuntimeException或错误Error时回滚事务。 所有异常回滚如果需要让事务在检查型异常即非运行时异常抛出时也回滚可以在Transactional注解中设置rollbackFor Exception.class。 以上就是我总结的事务内容如果有什么错误欢迎指正。 知识点是没有用的体系是有用的我们需要的是体系。

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

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

相关文章

怎么自己创建一个网站手机网站建设整体设计思路

本文作者祈澈姑娘,转载请声明 前端的技术日渐更新,最近得空,花了一上午的时间,将前端常见的框架总结了一下,在开发的过程之中,有了这些,不断能够提高自己的工作效率,还可以在工作之余…

it网站设计网站的增加条件设计

485转换器主要的作用是将单端的RS-232信号转换为平衡差分的RS-485或RS-422信号。RS-485、RS-422自动识别功能,使用更加简单。接下来就由飞畅科技的小编来为大家详细介绍下485转换器的产品功能特点及技术参数,一起来看看吧! 485转换器产品特点…

云邦北京网站建设销售网站建设推广

给你一个由 不同 整数组成的数组 nums ,和一个目标整数 target 。请你从 nums 中找出并返回总和为 target 的元素组合的个数。 题目数据保证答案符合 32 位整数范围。 示例 1: 输入:nums [1,2,3], target 4 输出:7 解释&#…

和别人做网站接单赚钱中小型网站建设多少钱

一、题目介绍 输入描述: 多组输入,每行输入一个正整数(不大于100)。 输出描述: 针对每行输入的整数n,输出两行,第一行,输出n之内(包括n)的素数&#xff0…

外贸网站建设工作室百度会收录双域名的网站么

Windows 故障转移Hyper-V 虚机自动迁移高 可用 Windows 故障转移Hyper-V 虚机自动迁移高... 1一、系统原理... 31.1 高效率的 VMbus 架构... 31.2 完美支持 Linux 系统... 4二、架构拓朴... 52.1 网络及系统架构拓朴... 52.2 域结构拓朴... 5三、实验资源列表... 63.1 网络设备…

永春县住房和城乡规划建设局网站上海知名的seo推广咨询

Mathtype公式自动转Word自带公式 前言/word技巧探索过程参考资料(有效与无效)全自动方案/代码/教程 前言/word技巧 word公式 用ALT号可以输入简单latex显示公式;复杂度,需要引入latex包的不行;显示不出来的话按一下en…

做网站推广的联系方式室内装修设计学校排名

数组 一维数组 定义一维数组 定义一维数组的一般形式: 类型符 数组名 [常量表达式];其中: 数组名的命名规则和变量名相同,遵循标识符命名规则。常量表达式的值表示数组中元素的个数,也称为数组的长度。常量表达式可以包含常量…

淮南做网站公司企业公众号开发

在创建ODX数据库的过程中,我们需要录入大量的数据以及应对多种数据格式。这不仅费时费力,而且还需很高的人力成本,且其错误率也非常高,从而导致开发速度缓慢、效率低下。基于多年的汽车行业诊断经验,我们开发了VisualO…

上海专业的网站建设公司北京做网站公司电话

.NET CLR(公共语言运行时)是.NET框架的重要组成部分,它提供了一种环境,使 .NET 程序能够在其中执行。CLR 负责管理 .NET 应用程序的执行,包括内存管理、线程管理、异常处理、垃圾回收等。 CLR 的工作流程是这样的: 当你运行一个…

广东省住房和建设局网站WordPress商用收费吗

目录 1. 使用多线程或异步编程: 2. 设置适当的请求频率: 3. 使用代理服务器: 4. 处理异常和错误: 5. 监控和管理任务队列: 6. 数据存储和处理: 7. 随机化请求参数和头信息: 8. 定时任务…

做网站是买服务器还是买cdn企业展厅设计公司100%正品保障

D211是一块相位控制集成电路,该电路内部具有F-V转换接口、控制放大器、过载限制、软启动、自动重触发、电压监视、电压电流同步等功能。主要应用于电动工具中马达转速的控制。 主要特点: 内置F-V转换接口 外控制集成放大器 内置过载限制功能 …

互联网公司加盟重庆seo网站设计

摘要 本期共有6篇文章: ASP.NET编译问题的公开Hotfix补丁 期待下个版本AjaxPro 的发布 在ASP.NET 2.0中使用MultiView控件实现多页面表单 数据绑定的技巧:嵌套Eval语句 在ASP.NET 2.0中访问并更新数据:使用数据源控件以编程方式访问数据 AD…

济南网站制作平台百度网页版登录入口官网

不论是类中对于const成员函数的声明还是在类外对于成员函数的声明其方式是一样的,如下: void getName() const;在函数声明的未部添加const关键字,表明函数不能修改其内部的成员变量的值。 如果是在类中定义const成员函数,那么其声…

北京美容网站建设做公司官网怎么做

GC垃圾回收 如何判断对象可以回收 引用计数法 如果有对象引用计数加一,没有对象引用,计数减一,如果计数为零,则回收 但是如果存在循环引用,即A对象引用B对象,B对象引用A对象,会造成内存泄漏 可…

高等学校处网站建设总结初中做语文综合题的网站

🙌秋名山码民的主页 😂oi退役选手,Java、大数据、单片机、IoT均有所涉猎,热爱技术,技术无罪 🎉欢迎关注🔎点赞👍收藏⭐️留言📝 获取源码,添加WX 目录 前言一…

网站设计建设 网络营销推广seo网站推广收费

代码审计必备知识点: 1、代码审计开始前准备: 环境搭建使用,工具插件安装使用,掌握各种漏洞原理及利用,代码开发类知识点。 2、代码审计前信息收集: 审计目标的程序名,版本,当前环境(系统,中间件…

iis7配置asp网站网站搭建平台源码

switch语句格式 switch(表达式) {case 值1:语句体1;break;case 值2:语句体2;break;...default:语句体n1;break; }执行流程: 首先计算表达式的值。依次和case后面的值进行比较,如果有对应的值,就会执行相应的语句,在执行的过程中…

网站建设需要什么人员九江市房管局建设官方网站

文章目录 1.介绍2.下载3. 配置3.1 配置环境变量3.2 在xshell中连接使用 4. 相关命令4.1 Box相关4.2 初始化环境4.4 虚拟机相关 1.介绍 Vagrant 是一个虚拟机管理工具 2.下载 https://www.vagrantup.com/ 3. 配置 3.1 配置环境变量 测试安装是否成功 3.2 在xshell中连接使…

中国建设银行太原招聘信息网站自己做网络棋牌网站流程

文章目录 1.行级锁的概念2.行锁的概念以及基本使用2.1.行锁的概念2.2.常见的SQL语句所对应的行锁类别2.3.行锁的基本使用 3.间隙锁和临键锁的概念以及基本使用3.1.间隙锁和临键锁的概念3.2.间隙锁和临键锁的基本使用 1.行级锁的概念 行级锁指的是,每次操作锁住的是…

wordpress 手机 插件南京网站关键词优化咨询

【问题描述】 [887. 鸡蛋掉落] 你将获得 K 个鸡蛋&#xff0c;并可以使用一栋从 1 到 N 共有 N 层楼的建筑。每个蛋的功能都是一样的&#xff0c;如果一个蛋碎了&#xff0c;你就不能再把它掉下去。你知道存在楼层 F &#xff0c;满足 0 < F < N 任何从高于 F 的楼层落…