谷粒商城项目总结(一)-基础篇
谷粒商城基础篇高级篇,跟着看,也敲了部分代码,但是感觉后续随着业务增加代码部分敲了也记不住,就想着应该重视解决问题的思路,理清思路比代码更重要,写这篇文章,是在看完后在从第一到高级篇,少部分集群篇总结一下思路。参考文章:参考大哥文章一.项目基础介绍:P1.项目介绍商城模式B2C,自营商品客户。P2.项目介绍1.基础篇:管理员端并发量小业务2.高级篇:客户端,高并发等复杂业务3.集群篇:k8s部署P
谷粒商城基础篇高级篇,跟着看,也敲了部分代码,但是感觉后续随着业务增加代码部分敲了也记不住,就想着应该重视解决问题的思路,理清思路比代码更重要,写这篇文章,是在看完后在从第一到高级篇,少部分集群篇总结一下思路。
参考文章:参考大哥文章
一.项目基础介绍:
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.分布式基础篇总结
更多推荐
所有评论(0)