
乐优商城
微服务电商项目
zheng_zq666
一只Java后端程序猿
邮箱:zhengzhenqin666@163.com
展开
-
乐优商城之下单(二十一)
文章目录(一)启动leyou-order(二)Swagger-UI(三)测试订单接口(四)生成ID的方式(五)跳转到订单结算页(六)订单页的渲染(七)完成下单功能(一)启动leyou-order导入leyou-order后发现它变成root了,如下:我们要修改最顶层的pom.xml,让它成为子工程,如下:(二)Swagger-UI什么是OpenAPI?随着互联网技术的发展,现在的网站架构基本都由原来的后端渲染,变成了:前端渲染、前后端分离的形态,而且前端技术和后端技术在各自原创 2020-08-08 00:55:39 · 788 阅读 · 0 评论 -
乐优商城之购物车(二十)
文章目录(一)搭建购物车微服务(二)添加购物车的流程(三)购物车数据结构&本地存储技术(四)添加购物车(五)购物车页面渲染(一)搭建购物车微服务maven依赖: <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-s原创 2020-08-07 20:30:55 · 878 阅读 · 0 评论 -
乐优商城之授权中心(十九)
文章目录(一)无状态登录(二)jwt和加密算法(三)结合zuul网关的鉴权流程(四)搭建授权中心&jwt工具类(五)编写授权中心的代码(六)完成登录接口(七)cookie写入失败的原因分析(八)解决cookie写入的问题(一)无状态登录什么是有状态有状态服务,即服务端需要记录每次会话的客户端信息,从而识别客户端身份,根据用户身份进行请求的处理,典型的设计如tomcat中的session。例如登录:用户登录后,我们把登录者的信息保存在服务端session中,并且给用户一原创 2020-08-07 00:29:37 · 1078 阅读 · 1 评论 -
乐优商城之用户注册(十八)
文章目录(一)原创 2020-08-06 14:26:02 · 1040 阅读 · 0 评论 -
乐优商城之RabbitMQ(十七)
文章目录(一)RabbitMQ的简介(二)RabbitMQ的测试(三)五种消息模型(四)第一种:简单模型(五)第二种:工作模型(六)订阅模型分类(七)第三种:订阅模型:Fanout(广播模型)(八)第四种:订阅模型:Direct(路由模型)(九)第五种:订阅模型:Topic(通配符模型)(十)持久化(十一)SpringAMQP的简介(十二)使用RabbitMQ实现数据同步:分析(十三)使用RabbitMQ实现数据同步:实现(一)RabbitMQ的简介为什么要使用RabbitM原创 2020-08-05 00:48:15 · 724 阅读 · 0 评论 -
乐优商城之thymeleaf&静态化(十六)
文章目录(一)thymeleaf介绍(二)搭建商品详情页工程(三)页面跳转(四)商品微服务添加api接口(五)组织商品详情的数据模型(六)渲染sku选择(七)sku选中项(八)商品详情及规格参数的渲染(一)thymeleaf介绍特点:动静结合:Thymeleaf 在有网络和无网络的环境下皆可运行,即它可以让美工在浏览器查看页面的静态效果,也可以让程序员在服务器查看带数据的动态页面效果。这是由于它支持 html 原型,然后在 html 标签里增加额外的属性来达到模板+数据的展示方式。浏原创 2020-08-04 15:09:57 · 1089 阅读 · 1 评论 -
乐优商城之页面渲染&搜索过滤(十五)
文章目录(一)页面渲染(二)渲染分页条(三)完成分页(四)分类和品牌的聚合(五)分类和品牌的渲染(六)规格参数的聚合(七)规格参数的渲染(一)页面渲染页面已经拿到了结果,接下来就要渲染样式了保存搜索结果我们之前埋下伏笔,在data中定义的goodsList就是用来保存搜索的结果,如下:在loadData()的异步查询中,将结果赋值给goodsList:循环展示商品在search.html的中部,有一个div,用来展示所有搜索到的商品:可以看到,div中有一个无序列原创 2020-08-03 16:21:58 · 868 阅读 · 1 评论 -
乐优商城之基本搜索(十四)
文章目录(一)搭建搜索微服务(二)结合页面设计Goods数据模型(三)商品微服务提供接口(四)根据spu构建Goods(五)完成数据导入功能(六)完成基本查询(一)搭建搜索微服务maven依赖如下: <dependencies> <!-- web --> <dependency> <groupId>org.springframework.boot</groupId>原创 2020-08-02 20:52:42 · 762 阅读 · 0 评论 -
乐优商城之elasticsearch02(十三)
文章目录(一)Spring Data Elasticsearch的介绍(二)搭建elasticsearch测试工程(三)索引的操作(四)新增和更新(五)基本查询(六)自定义方法(七)高级查询(八)聚合查询(一)Spring Data Elasticsearch的介绍Elasticsearch提供的Java客户端有一些不太方便的地方:很多地方需要拼接Json字符串,在java中拼接字符串有多恐怖你应该懂的需要自己把对象序列化为json存储查询到结果也需要自己反序列化为对象因此,原创 2020-08-01 22:06:23 · 433 阅读 · 0 评论 -
乐优商城之elasticsearch01(十二)
文章目录(一)elasticsearch的介绍(二)elasticsrarch的测试(三)Kibana的介绍(四)Kibana的测试(五)索引的操作(六)映射的配置(七)数据的增删改(八)基本查询(一)elasticsearch的介绍用户访问我们的首页,一般都会直接搜索来寻找自己想要购买的商品。而商品的数量非常多,而且分类繁杂。如何能正确的显示出用户想要的商品,并进行合理的过滤,尽快促成交易,是搜索系统要研究的核心。面对这样复杂的搜索业务和数据量,使用传统数据库搜索就显得力不从心,一原创 2020-08-01 16:01:13 · 1015 阅读 · 0 评论 -
乐优商城之商品管理(十一)
文章目录(一)商品品牌查询(二)品牌新增页面(三)商品新增后台代码(四)商品编辑的回显(五)商品更新(六)部署前台系统(七)common.js(一)商品品牌查询我们要根据分类来查询品牌,直接查询品牌的话数量就太多了,要用分类(cid3)进行过滤,如下: /** * 根据分类的id(cid3)查询品牌列表 * * @param cid * @return */ @GetMapping("cid/{cid}") pu原创 2020-07-31 22:38:40 · 759 阅读 · 0 评论 -
乐优商城之规格参数&商品查询(十)
文章目录(一)规格参数表结构(二)数据库表单分析(三)规格参数组页面分析(四)规格参数组查询的代码实现(五)规格参数页面分析(六)规格参数查询的代码实现(七)表关系(一)规格参数表结构SPU 和 SKUSPU:Standard Product Unit (标准产品单位) ,一组具有共同属性的商品集SKU:Stock Keeping Unit(库存量单位),SPU商品集因具体特性不同而细分的每个商品以图为例来看:本页的 华为Mate10 就是一个商品集(SPU)因为颜色、内原创 2020-07-31 17:00:52 · 1184 阅读 · 0 评论 -
乐优商城之品牌新增&fastDFS(九)
文章目录(一)请求处理过程(二)品牌新增页面分析(三)品牌新增后台代码(四)qs工具(五)页面校验(一)请求处理过程以品牌查询为例,如下:(二)品牌新增页面分析之前完成了品牌的查询,接下来就是新增功能,点击新增品牌按钮,如下:Brand.vue页面有一个提交按钮,如下:点击触发addBrand方法,如下:this.show就是我们要找的弹窗,如下:分析该自定义组件中级联选择的实现,如下:新增品牌后看报错,可以看到请求路径和请求方式,如下:请求参数如下:大概原创 2020-07-30 21:22:19 · 4856 阅读 · 0 评论 -
乐优商城之分类查询&品牌查询(八)
文章目录(一)编写分类查询(二)跨域问题(三)cors跨域原理(四)解决跨域问题(一)编写分类查询分类查询对应的组件是Category.vue,其中用到的<v-tree>子组件是全局组件,可以直接使用详情见资料包中的自定义组件用法指南,如下:首先使用:treeData和模拟数据(treeData数组,稍后会导入)进行测试,如下:导入模拟数据,如下:效果如下:我们确认没问题后,去掉:treeData="treeData",开始编写远程请求的代码数据库对应表单的对象原创 2020-07-28 21:36:35 · 1143 阅读 · 5 评论 -
乐优商城之后台管理系统的环境搭建(七)
文章目录(一)搭建管理后台的前端(二)项目结构(三)vuetify(四)使用域名访问后台页面(五)nginx的介绍(六)nginx的使用(一)搭建管理后台的前端把资料包中提供的leyou-manage-web拷贝到工作空间,如下:用IDEA打开,如下:选择Run npm install,或者自己在控制台输入npm install命令,如下:在package.json文件中有scripts启动脚本配置,如下:可以输入命令:npm run dev或者npm start,运行效果如原创 2020-07-27 17:59:00 · 942 阅读 · 0 评论 -
乐优商城之Vue入门(六)
文章目录(一)MVVM思想(二)Vue介绍(三)Vue入门案例(一)MVVM思想静态页面最初的网页以HTML为主,是纯静态的网页。网页是只读的,信息流只能从服务端到客户端单向流通。开发人员也只关心页面的样式和内容即可。异步刷新,操作DOM1995年,网景工程师Brendan Eich 花了10天时间设计了JavaScript语言.随着JavaScript的诞生,我们可以操作页面的DOM元素及样式,页面有了一些动态的效果,但是依然是以静态为主。ajax盛行:2005年开始,aj原创 2020-07-27 09:49:01 · 492 阅读 · 0 评论 -
乐优商城之ES6语法(五)
文章目录(一)es6介绍(二)let和const(三)字符串扩展(四)解构表达式(一)es6介绍来看下前端的发展历程:web1.0时代:最初的网页以HTML为主,是纯静态的网页。网页是只读的,信息流只能从服务的到客户端单向流通。开发人员也只关心页面的样式和内容即可。web2.0时代:1995年,网景工程师Brendan Eich 花了10天时间设计了JavaScript语言。1996年,微软发布了JScript,其实是JavaScript的逆向工程实现。1997年,为了原创 2020-07-25 22:31:59 · 253 阅读 · 0 评论 -
乐优商城之项目搭建(四)
文章目录(一)项目分类(二)电商行业(三)专业术语(四)项目介绍(五)技术选型(六)开发环境(七)搭建后台环境:父工程(八)搭建后台环境:eureka(九)搭建后台环境:zuul(十)搭建后台环境:商品微服务(十一)搭建后台环境:测试商品微服务(十二)搭建后台环境:通用工具模块(十三)总结(一)项目分类项目分类:主要从需求方、盈利模式、技术侧重点这三个方面来看它们的不同传统项目:各种企业里面用的管理系统(ERP、HR、OA、CRM、物流管理系统。。。。。。。)需求方:公司原创 2020-07-25 01:14:13 · 869 阅读 · 0 评论 -
乐优商城之springcloud02(三)
文章目录(一)ribbon负载均衡(二)hystrix:简介(三)hystrix:线程隔离(四)hystrix:服务降级(五)hystrix:服务熔断(六)feign:简介(七)feign:案例(一)ribbon负载均衡在刚才的案例中,我们启动了一个provider,然后通过DiscoveryClient来获取服务实例信息,然后获取ip和端口来访问,如下:但是实际环境中,我们往往会开启很多个provider的集群,此时我们获取的服务列表中就会有多个,到底该访问哪一个呢?一般这种情况下我原创 2020-07-24 17:45:28 · 307 阅读 · 0 评论 -
乐优商城之springcloud01(二)
文章目录(一)架构的演变(二)RPC和HTTP(三)HTTP客户端(四)初识springcloud(五)搭建服务提供方(六)搭建服务调用方(七)搭建eureka注册中心(八)改造:微服务注册到eureka注册中心(九)改造:消费方解决地址硬编码问题(十)高可用的eureka(一)架构的演变传统一台服务器的缺点:单点故障处理并发的能力差代码耦合度高不方便扩展拆分前的优点:维护方便拆分方式:垂直拆分:功能拆分水平拆分:web层、service层、mapper层原创 2020-07-23 16:35:11 · 422 阅读 · 1 评论 -
乐优商城之springboot(一)
文章目录(一)springboot的优点(二)springboot的特征(三)springboot的入门(四)优化入门程序(五)java配置(六)springboot属性注入(一)springboot的优点java一直被人诟病的一点就是臃肿、麻烦。当我们还在辛苦的搭建项目时,可能Python程序员已经把功能写好了,究其原因主要是两点:复杂的配置项目各种配置其实是开发时的损耗, 因为在思考 Spring 特性配置和解决业务问题之间需要进行思维切换,所以写配置挤占了写应用程序逻辑的时间。原创 2020-07-22 16:01:58 · 645 阅读 · 0 评论