谷粒商城基础篇高级篇,跟着看,也敲了部分代码,但是感觉后续随着业务增加代码部分敲了也记不住,就想着应该重视解决问题的思路,理清思路比代码更重要,写这篇文章,是在看完后在从第一到高级篇,少部分集群篇总结一下思路。
参考文章:参考大哥文章

一.项目基础介绍:

P1.项目介绍


商城模式B2C,自营商品客户。

P2.项目介绍

1.基础篇:管理员端并发量小业务
2.高级篇:客户端,高并发等复杂业务
3.集群篇:k8s部署

P3.分布式基础

介绍基础概念:
1.微服务
2.集群,分布式,节点
3.远程调用:HTTP+JSON
4.负载均衡:轮询,最小连接数,散列
5.服务注册/发现&注册中心,Client注册到server,Client从server发现
6.配置中心
7.服务熔断降级
8.API网关
P4.微服务架构图
P5.微服务划分图

P6.使用vagran快速安装Linux

P7.虚拟网络设置,保证Ping通,也可以购买服务器

P8.linux暗转docker

P9.环境配置docker阿里云镜像下载,保证下载速度

P10-13,docker安装mysql,redis;idea的maven,jdk1.8,lombok等,安装git环境。

二.项目搭建

P14.项目构建

gitee搭建(希望大家适当支持国产,科技真的无国界?)

构建各个模块,复制一个pom建立父pom,聚合模块,添加总服务,设置忽略文件,idea安装gitee。

P15.renren项目,逆向工程,生成代码,数据库生成

P16.人人项目后台搭建

包db文件,生成数据库。
后台搭建,纳入项目管理,改配置。
前端vscode,配置前端

P17.代码生成器逆向工程

提取公共代码common中

P18.测试使用

(1).整合Mybatis-Plus
1).导入依赖
2).修改配置
①.配置数据源
A.导入数据库驱动
B.在application.yml文件中配置相关信息

②.配置MyBAties-Plus
A.主启动类@MapperScan注解,告诉Mybaties-Plus映射文件位置。

P19.生成全部代码

三.SpringCloud Alibaba

P20、SpringCloud Alibaba简介

Nacos 注册中心
Nacos 配置中心
Ribbon 负载均衡
Feign 远程调用
Sentinel 服务容错(限流、降级、熔断)
Gateway API网关
Sleuth 链路监控
Seata 分布式事务解决方案

P21.Nacos

Server 下载,启动
Client:pom,yml(server地址,服务名称),主启动类@EnableDiscoveryClient,启动

P22.OpenFeign远程调用

引pom,调用者建feign包,开启主启动@EnableFeignClients(baesPackage=“feign包名”),远程调用@FeignClient(“接口名称”)

P23.Nacos配置中心

(1).引pom
(2).新建bootstrap.yml,注册中心配置:spring.cloud.nacos.config.server-addr=;spring.application.name=
(3).nacos上进行配置
(4).动态获取配置
@RefreshScope
@Value("${名称路径}")

P24Nacos配置中更新进阶

(1)…命名空间:每个微服务之间相互隔离配置,每个微服务都创建自己的命名空间,只加载自己命名空间下的配置
(2).配置集,所有配置的集合
(3)配置集ID:类似文件名
(4)配置分组:
总结:每个微服务创建自己的命名空间,使用配置分组区分环境。

P25多配置集

P26.网关Getway配置

路由,断言,过滤器

P27.网关模块创建

客户端发请求给服务端。中间有网关。先交给映射器,如果能处理就交给handler处理,然后交给一系列filer,然后给指定的服务,再返回回来给客户端。

P28-35.ES6

P36-44 Vue

四.业务代码:三级分类

P45.递归树形结构数据获取

P46配置网关路由及路径重写


三个模板:方法模板,get、post请求模板
修改前端请求路径,改为网关请求地址

P47.网关统一配置跨域问题

跨域:指浏览器不能执行其他网站的脚本。
同源策略:指协议,域名,端口都要相同,其中有一个不同就会产生跨域。



注解掉原有renrenFast跨域

P48.树形展示三级分类


前端获取数据。

P49.删除效果

前端:节点没有子节点才允许删除,三级分类允许添加子节点

P50逻辑删除

(1).配置全局逻辑删除(可省略)
(2).配置逻辑删除组件Bean(可省略)
(3).给Bean上加逻辑删除注解@TableLogic

P51删除效果细化

删除确认框,刷新新菜单后默认展开的菜单

P52新增三级分类

前端添加框,表单提交

P53修改三级分类

发送请求获取修改数据。
确定是修改框还是添加框,可以增加额外变量确定。

P54-57.修改拖拽效果

个人感觉没用就不看第二遍了

P58.批量删除

前端获取选中节点,获取id,后端假删除

五.业务代码:品牌管理

P59.品牌管理你像生成前后端

P60效果优化快速开关显示

自定义显示开关,和图片上传

开关前后端修改,修改方法。

P61云存储开通与使用

阿里云Oss
创建子用户,创建项目

62.Oss整合测试

(1).pom
(2).阿里云查找编写上传文件流, 地址、账户、密码,也可以写在yml文件中

P63.Oss获取服务端签名

创建第三方服务模块,改
阿里云找到代码复制到controller

64.阿里云Oss测试前后端文件上传

步骤:


注意:签名使用

同时设置阿里云允许跨域。

P65表单校验&自定义校验器

修改列表自定义列获取图片。
前端表单校验器

P66.后端数据校验

JSR303校验
(1).给Bean添加注解
(2).controller具体方法前加标注校验注解,@Valid
(3)j校验的controller方法内加BindingResult,就可以获取到校验结果
(4).分组校验(多场景复杂校验)
1).给实体类加注解
2).controller上该@Valid注解为@Validated({AddGroup.class})
3).默认没有指定分组的校验,在分组校验情况下不生效

67.统一的异常处理类



不用谢BingResult注解。

P68.JSR303分组校验规则


P69.自定义校验

(1).编写一个自定义校验注解
(2).编写一个自定义校验器
(3).关联自定义的家欧安器和自定义校验注解

六.SPU&SKU属性管理

P70.spu&sku概念

spu:标准化产品单元,商品信息聚合最小单位,一组可服用、医检所的表转化信息集合,该集合描述了一个产品的特征。个产品共享的属性。
SKU:库存量单位。库存进出计量的基本单元,可以以件、盒等为单位,现已引申为产品统一编号的简称,每个商品均对应一个sku。
基本属性【规格参数】与销售属性:每个分类下的商品共享规格参数,只是有些商品不一定要用这个分类下的全部商品。

P71.前端组件抽取,父子组件交互



P72.获取属性分类属性分组

P73.分组新增&级联选择器

P74.分组修改,级联选择器修改

P75.品牌分类关联以及级联更新


一个品牌对应多个分类,一个分类可以有多个品牌

修改品牌name时注意其他关联name的修改关系,级联更新。

P76规格参数新增与Vo

1.PO持久对象:Po就是对数据库中某个表中的一条记录,多个记录可以是用Po集合,po不包含对数据库的操作
2.DO领域对象:从现实世界中抽取出来的邮箱或无形的业务实体。
3.TO数据传输对象:不同应用程序之间传输的对象。
4.DTO数传输对象:泛指用于展示层与业务之间的传输对象
5.VO值对象:用于业务层之间的数据传递,但是应该是抽象出的业务对象,可与表对应也可以不用,根据业务取药。
视图对象,接收页面传来的数据,也可封装为完成业务逻辑,界面所需要的数据。
6.BO业务对象:把业务逻辑封装为一个对象。
7.POJO剪短无规则java对象:传统意义的java对象。
8.DAO数据访问对象:持久化层提供接口,用于访问数据库。

属性新增后,对应的关联品牌和属性关系表也要新增。

P77.规格参数列表

P78.规格修改

P79.销售属性维护

枚举类型确定是销售属性还是基本属性

P80查询分组关联关系,以及删除

P81.查询未关联属性进行关联

P82.新增分组与属性关联

七.代码模块:新增商品

P83新增商品-测试会员等级接口

getway设置会员路由,设置会员等级接口

P84获取分类包含的品牌

P85分类下的所有分组及属性

P86商品新增VO抽取

P87新增商品业务业务流程分析

P88保存SPU基本信息

P89保存SKU基本信息

P90远程调用保存优惠信息

P91商品保debug修改

P92保存其他问题处理

P93SPU检索

P94.SKU管理

八.代码部分:仓储服务

P95.仓储服务模块

ware模块加入到注册中心
getway加入网关
加入模糊查询

P96.创建采购单

P97.合并采购单


获取采购单,先获取未领取的采购任务,将采购单合并后分配人员。

P98.领取采购单

P99.完成采购

修改采购状态并添加库存(有加无新建)

P100.SPU规格维护

P101.分布式基础篇总结

谷粒商城项目总结(一)-基础篇相关推荐

  1. 安排,谷粒商城java分布式开发基础篇高级篇与高可用集群架构篇2020

    来源: 来自网络,如侵权请告知博主删除????. 仅学习使用,请勿用于其他- 最近有小伙伴管我要分布式这类的项目,还有一些要商城的,还有要springboot,springcloud,k8s等,几乎涵 ...

  2. 谷粒商城项目学-分布式基础

    项目框架图 分布式基础概念 • 微服务.注册中心.配置中心.远程调用.Feign.网关 • 2.基础开发 • SpringBoot2.0.SpringCloud.Mybatis-Plus.Vue组件化 ...

  3. 谷粒商城微服务分布式基础篇二—— Spring Cloud Alibaba、Nacos注册与发现

    文章目录 Spring Cloud Alibaba--微服务开发 Spring Cloud Alibaba是什么?  主要功能  组件 为什么不使用Spring Cloud 使用 Nacos Disc ...

  4. 谷粒商城项目1——分布式基础概念、环境搭建

    二.分布式基础概念 1.微服务架构 一个单体应用开发为一套小服务,每个小服务在自己的进程中,并使用轻量级机制通信 拒绝大型单体应用,基于业务边界进行服务微化拆分,各个服务独立部署运行 2.集群.分布式 ...

  5. 尚硅谷谷粒商城项目学习笔记-基础-P1项目搭建

    基础-P1项目搭建 0.虚拟机 1.项目架构 1.1Docker 1.1Docker命令 1.3Docker容器文件挂载与端口映射 1.2微服务-注册中心.配置中心.网关 1.3工具配置 1.3.1 ...

  6. 谷粒商城项目笔记之高级篇(三)

    目录 1.9.22 提交订单的问题 1).订单号显示.应付金额回显 2).提交订单消息回显 3).为了确保锁库存失败后,订单和订单项也能回滚,需要抛出异常 1.9.23 创建库存上锁.解锁 业务交换机 ...

  7. 谷粒商城项目笔记之分布式基础(一)

    谷粒商城项目之分布式基础 目录 谷粒商城项目之分布式基础 前言 1 项目简介 1.1 项目背景 1.1.1 电商模式 1.1.2 谷粒商城 1.2 项目架构图 1.2.1 项目微服务架构图 1.2.2 ...

  8. M5(项目)-01-尚硅谷谷粒商城项目分布式基础篇开发文档

    M5(项目)-01-尚硅谷谷粒商城项目分布式基础篇开发文档 分布式基础篇 一.环境搭建 各种开发软件的安装 虚拟机: docker,mysql,redis 主机: Maven, idea(后端),Vs ...

  9. 2022谷粒商城SpringCloud项目环境搭建+项目流程(基础篇)

    谷粒商城项目 前言:在真正开始敲代码实现项目功能之前,关于此项目的介绍和环境搭建读者阅读本篇就可以了(笔者自己还记录了一下项目中遇到的小bug以及知识点).后面的功能实现从简考虑没有附上具体的代码(篇 ...

最新文章

  1. android2.2编译,Android NDK编译Box2D_V2.2
  2. (0014)iOS 开发之Mac自带的Apache本地服务器玩耍(01)
  3. Javascript:郁闷了好久终于找到原因了,原理还不明白
  4. 岳阳师范学院计算机系刘威,计算机学院青年教师刘威博士发表高水平科研论文...
  5. JS读取嵌套的JSON数据
  6. 25 PP模块-创建工厂日历报错-请输入年度xxxx和xxxx之间的有效区域
  7. JavaScript之变量对象
  8. 重写equals()和hashcode()方法详解
  9. 普通版Mobaxterm查看保存的密码明文
  10. dojo实现省份地市级联---省份数据源
  11. 计算机关机键是,电脑关机快捷键是什么
  12. 苹果恢复出厂设置报4013错误问题
  13. 传奇地图时间限制脚本_地图时间限制脚本
  14. Stream流基本使用
  15. b计划撸站--内容采集筛选
  16. mapbox样式规范(style)
  17. 大坝平台参考材料——志豪未来科技有限公司v2
  18. Veryzhou编码转换1.02正式版
  19. Directsound开发指南(4)
  20. jfinal连接oracle_jfinal数据库连接配置

热门文章

  1. 一张图看懂梯度、散度、旋度、Jacobian、Hessian和Laplacian
  2. linux 对函数的未定义的引用,对libncurses中函数的未定义引用
  3. MySQL经典面试题--SQL语句
  4. Java中List Set Map总结
  5. Geohash应用——附近乡镇信息挖掘(提升检索召回与准确)
  6. 数据结构 C 代码 6.2: 哈夫曼树 (学生提供代码)
  7. 在Unreal引擎中利用实现实时动作捕捉
  8. VUE:vue通过cookie获取用户登录信息
  9. matlab 图像输入/显示等
  10. 算法设计与分析-TSP六种方法-贪心算法(最近邻点、最短链接)、蛮力法、动态规划法、回溯法、分支限界法、模拟退火