电商问题剖析
前路无畏
自律的艰辛总甜过懊悔的苦果!
专注于java后端技术及解决方案,善于总结,分享!
自律的艰辛总甜过懊悔的苦果!
专注于java后端技术及解决方案,善于总结,分享!
自律的艰辛总甜过懊悔的苦果!
专注于java后端技术及解决方案,善于总结,分享!
展开
-
自定义数据校验注解
1. 参考代码下载下载代码分支dev-feature-yuhl2. 创建自定义注解所在Module:scrm-common所在包:org.springblade.common.valid.annotation注解:ListValue说明:ListValueConstraintValidator.class为此注解的验证器package org.springblade.common.valid.annotation;import org.springblade.common.valid.v原创 2021-03-16 14:31:27 · 263 阅读 · 0 评论 -
统一异常处理
@RestControllerAdvice注解,进行异常处理集中处理。原创 2021-03-15 20:11:04 · 318 阅读 · 0 评论 -
异常统一在controller处理
1. controller处理异常 /** * 锁定库存,下单后需要把库存锁定 * @param vo * @return */ @PostMapping("/lock/order") public R orderLockStock(@RequestBody WareSkuLockVo vo){ try { wareSkuService.orderLockStock(vo); re原创 2021-03-15 16:03:38 · 544 阅读 · 0 评论 -
自定义校验器
自定义校验器: 可以参考原有的定义情况去书写@NotNull需求:定义一个注解只能输入0,1定义注解定义校验器绑定校验器和注解定义提示信息使用1. 定义注解ListValueConstraintValidator :为校验器,下面会专门书写import javax.validation.Constraint;import javax.validation.Payload;import java.lang.annotation.Documented;import java.lang原创 2021-03-14 17:19:04 · 311 阅读 · 0 评论 -
@JsonInclude树形后端返回时使用
属性结构中,如果无子类机构则不显示,即children不为空则显示,要不然就不展示了。解决了,树下没有子树但是会有个空白的占位的情况,可以使用:@JsonInclude(JsonInclude.Include.NON_EMPTY) 在此包下:com.fasterxml.jackson.annotation.JsonIncludeimport com.baomidou.mybatisplus.annotation.TableField;import com.baomidou.mybatisplus.a原创 2021-03-12 21:00:20 · 137 阅读 · 1 评论 -
跨域问题的解决-gateway跨域接解决方案,使用CorsWebFilter
关于跨域问题请先看我的另一篇文章:https://blog.csdn.net/fsjwin/article/details/114444826这里再列举出一种编码方式,(注意不是nginx的解决方案)是通过编码的方式告诉浏览器可以跨域访问了。1. 在网关服务中添加Filter@Componentpublic class MyCorsConfiguration { /** * * @return CorsWebFilter 为愧于的webfilter 有spring框架原创 2021-03-11 20:44:31 · 3418 阅读 · 6 评论 -
jdk1.8中stream流式编程filter、map、collect、sort、foreach
Stream流中map方法使用Stream流时发现其中的map方法使用有一些不太容易理解的地方,分析一下具体的流程,以一个小案例详细探讨Stream中map的使用。案例涉及:1、Stream中of方法传入可变参数2、Stream中map元素类型转化方法3、Function匿名接口,people匿名对象的使用4、String中split切割方法5、Lambda表达式匿名对象也可以使用Lambda替换,达到精简的效果,因为了便于理解只在forEach遍历下使用了Lambda表达式)。以下.原创 2021-03-09 20:59:46 · 1973 阅读 · 0 评论 -
递归获得商品的树形结构
商品的分类分为三级,递归返回商品的三级分类1. 商品服务相关包,特别关注分类表:category2. 实体类package com.atguigu.gulimall.product.entity;import com.baomidou.mybatisplus.annotation.TableField;import com.baomidou.mybatisplus.annotation.TableId;import com.baomidou.mybatisplus.annotation.Tab原创 2021-03-09 20:39:29 · 563 阅读 · 0 评论 -
Java Specification Requests(JSR)
JSR 对于从事java工作的小伙伴来说可能均听说,但是具体是什么意思呢?JSR是Java Specification Requests的缩写,意思是Java 规范提案。是指向JCP(Java Community Process)提出新增一个标准化技术规范的正式请求。任何人都可以提交JSR,以向Java平台增添新的API和服务。JSR已成为Java界的一个重要标准。说人话就是你要提交一个java的规范,就要提出申请,比如你要顶一个@MyName的注解,代表一定的含义,可以提出申请,待批复后,其他各大开源原创 2021-03-06 17:21:35 · 771 阅读 · 0 评论 -
HTTP Headers 之 Origin跨域访问一定要加上这个header
1.跨域访问概念HTTP 协议中的 Origin Header 存在于请求中,用于指明当前请求来自于哪个站点。字段内容Origin 仅仅包含站点信息,不包含任何路径信息。语法Origin: ""Origin: "<schema>://<host>[:port]"// 例如Origin: "https://baidu.com"// 错误示范,包含了路径信息Origin: "https://baidu.com/"应用CORS当我们的浏览器发出跨站请求时,行为原创 2021-03-06 16:06:17 · 17475 阅读 · 1 评论 -
订单业务的一致性(CAP中的C【Consistency】)-03使用Seata做强一致性分布式事务
上一篇:单业务的一致性(CAP中的C【Consistency】)-02CAP介绍1.使用Seata做强一致性分布式事务还是我们开头提出的问题:如何保证1.1、1.2、1.3要么同时成功,要么同时失败,本小节,使用alibaba seata作为分布式事务的解决方案,达到这个目的。2.Seata的AT模型介绍seata中文官网:http://seata.io/zh-cn/docs/user/quickstart.html可以直接官网查看,这里作为搬运工。2.1Seata 是什么?Seata 是一原创 2020-10-22 14:08:38 · 13356 阅读 · 1 评论 -
订单业务的一致性(CAP中的C【Consistency】)-02CAP介绍
上一篇:订单业务的一致性(CAP中的C【Consistency】)-01问题的提出1.什么是分布式系统分布式系统:是由一组通过网络进行通信、为了完成共同的任务而协调工作的计算机节点组成的系统。分布式系统的出现是为了用廉价的、普通的机器完成单个计算机无法完成的计算、存储任务。其目的是利用更多的机器,处理更多的数据。通俗来讲: 1.各个小服务组成一个系统,不管服务多么复杂。 2.各个自治的进程中运行。 3.部署在不同的机器节点上,通过协议相互连通,完成同一件事。于商城服务最直接的表现就是这只原创 2020-10-22 10:43:14 · 15488 阅读 · 2 评论 -
订单业务的一致性(CAP中的C【Consistency】)-01问题的提出
为什么需要分布式事务?本地事务不够用吗?1.下面以一个具体的例子展开讨论。张三在商城上下单买了2台法拉利,每台400万。业务交代清楚了。2.这样的代码应该怎么写呢? @Transactional @Override public SubmitOrderRespVo submitOrder(OrderSubmitVo orderSubmitVo) { if (checkValidity() ) {//校验合法性,如果一切合法,则开.原创 2020-10-21 22:02:36 · 13646 阅读 · 0 评论