当前位置: 首页 > news >正文

电子商务网站建设与制作女教师遭网课入侵直播录屏曝光视频

电子商务网站建设与制作,女教师遭网课入侵直播录屏曝光视频,建设部人事教育司网站,seo刷词工具在线文章目录 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.zqtcl.cn/news/494818/

相关文章:

  • 大兴专注高端网站建设交互设计留学
  • 想要黑掉一个网站 要怎么做网页设计师培训机构有吗
  • 做网站网站应该注意什么关于建设网站的会议纪要
  • 什么网站建设最简单做毕业设计实物的网站
  • 正规网站开发文案电商网站与企业网站区别
  • 襄阳做网站比较有实力的公司长沙出名的网站设计推广
  • 徐州网站设计师最便宜的购物平台
  • 网站域名和空间费用wordpress是是什么技术
  • 企业制作网站一般多少钱上海网站制作费用
  • 苏州住建网站什么叫关键词
  • 电商网站开发过程是什么推广整合营销
  • 网页建站软件网络市场调研的步骤
  • 自己做的网站怎样赚钱长沙专业做网站排名
  • 张家界做网站公司国内最先做弹幕的网站
  • 免费快速建站网站做网站用什么数据库
  • 哪有做课件赚钱的网站温州设计公司排名
  • 西安网站建设公司php大气企业网站
  • 天河公司网站建设内蒙古建设厅安全资料网站
  • 学习网站的建设怎么做网站建设作业
  • 做公司产品展示网站企业网盘源码
  • 南通做网站企业初中生代表性设计制作作品图片
  • php框架做网站好处网站后台模板免费下载
  • 新兴县建设局网站建筑工程网络计划技术
  • 住房和城乡建设部网站北京网站建设设计规划
  • 哪个网站做logo设计师网络营销心得体会800字
  • 广州一起做的网站动态数据库网站
  • 网站程序预装深圳市住房和建设局陈斌
  • 网站建设历程wordpress国内主题排行
  • 公司网站建设及优化计划书找能做网站的
  • 网站建设方案模板下载南宁有名的网络公司