自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

dianemax

努力是会上瘾的 ^_^

  • 博客(34)
  • 收藏
  • 关注

原创 乐优商城源码/数据库及笔记总结

文章目录1 源码2 笔记2.1 项目概述2.2 微服务3 项目优化4 乐优商城中涉及到的设计模式5 线程安全问题61 源码后端源码:leyou门户网站源码:leyou-portal后台管理系统源码:leyou-manage-web乐优商城最新数据库文件:sql.txt2 笔记2.1 项目概述项目概述2.2 微服务微服务一:注册微服务:LyRegister使用Sprin...

2019-07-01 17:44:47 12152 15

原创 订单业务中减库存操作涉及到的分布式事务问题与线程安全问题

文章内容:分析:减库存的业务实现减库存可以采用同步调用(Feign的方式),也可以采用异步调用(RabbitMQ传递消息),我们这里采用同步调用,接下来我们分析为什么如果我们采用异步调用的方式,减库存的这条消息发送到MQ就不管了,那么到底库存减成功了没有呢?这我们并不知道,如果库存不足,那么我们减库存失败,但是service的业务不会回滚,这个问题就是分布式事务问题,即跨服务的事务。减库存这...

2019-06-10 10:51:22 2792 1

原创 商品表结构分析

文章目录引言表结构分析引言先引入两个概念:SPU:Standard Product Unit (标准产品单位) ,一组具有共同属性的商品集SKU:Stock Keeping Unit(库存量单位),SPU商品集因具体特性不同而细分的每个商品所有sku共享的规格属性(称为全局属性)每个sku不同的规格属性(称为特有属性)表结构分析    ...

2019-05-26 10:07:52 2419 2

原创 对@SpringBootApplication注解的一些简单理解

@SpringBootApplication点进去这个注解看它的源码,如下:接下来先分析这四个元注解:@Target:限定注解运用的场景此处是@Target(ElementType.TYPE):限定给一个类型进行注解,比如类、接口、枚举除此以外还有:ElementType.ANNOTATION_TYPE 可以给一个注解进行注解ElementType.CONSTRUCTOR 可...

2019-07-21 12:51:54 371

原创 乐优商城:笔记(十六):实现微信支付功能

文章目录1 介绍2 开发流程3 下单并生成支付链接3.1 API说明3.2 统一下单工具类3.3 生成预交易链接3.3.1 controller3.3.2 service3.4 生成二维码4 付款状态4.1 内网穿透4.2 接收回调4.2.1 引入依赖4.2.1 controller4.2.2 service4.3 付款状态4.3.1 工具类4.3.2 查询订单4.3.3 controller4....

2019-06-11 11:19:38 1595 3

原创 乐优商城:笔记(十五):订单微服务:LyOrderApplication

文章目录1 创建订单微服务1.1 分析1.2 服务搭建1.2.1 创建module1.2.2 引入依赖1.2.3 配置文件1.2.4 启动类1.2.5 配置路由1.2.6 其他配置2 订单结算页2.1 数据结构2.2 实体类2.2 提交订单2.2.1 接口分析2.2.2 mapper2.2.3 controller2.2.4 service1 创建订单微服务1.1 分析当我们在购物车种选择好...

2019-06-09 19:10:31 1714 10

原创 乐优商城:笔记(十四):购物车微服务:LyCartApplication

文章目录1 分析1.1 需求分析1.2 购物车数据结构1.3 购物车商品存储位置1.3.1 web本地存储1.3.2 localstorage的用法2 未登录购物车时——localstorage2.1 添加到购物车2.2 提供查询接口显示价格变化3 已登陆购物车——Redis3.1 搭建购物车服务3.1.1 创建module3.1.2 引入依赖3.1.3 配置文件3.1.4 启动类3.1.5 添加...

2019-06-08 15:45:38 1249 3

原创 乐优商城:笔记(十三):鉴权微服务——鉴权

文章目录1 配置公钥2 引入依赖3 编写属性类4 编写过滤器逻辑5 白名单6 可优化的点7 常见问题      接上一篇鉴权微服务——授权,我们只完成了登录授权功能,鉴权功能还没实现,有很多的微服务必须登陆了才能访问,未登录状态下是无法访问的,与其在各个微服务中编写校验逻辑,还不如在网关Zuul中编写,反正所有请求都会经过Zuul,如果...

2019-06-06 21:06:07 888

原创 解决cookie无法写入的问题

文章目录1 问题分析2 跟踪CookieUtils3 解决host地址的变化4 网关的反向代理5 Host写入问题5.1 网关写入Host5.2 敏感头过滤导致cookie没有写入5.3 防止过滤器过滤Host6 Zuul的敏感头过滤接上一篇鉴权微服务中间留下的问题,专门来分析解决一下这个问题,首先我们登录,然后查看cookie:却发现cookie中空空如也,这是为什么?1 问题分析我...

2019-06-06 13:18:34 16401 8

原创 乐优商城:笔记(十二):鉴权微服务——授权

文章目录1 创建授权中心1.1 创建父module1.2 授权服务的通用模块:ly-auth-common1.3 授权服务的业务模块:ly-auth-service1.3.1 引入依赖1.3.2 配置文件1.3.3 启动类1.3.4 修改路由2 JWT工具类2.1 RSA工具类:RsaUtils2.2 常量类:JwtConstans2.3 载荷:UserInfo2.4 对象工具类:ObjectUt...

2019-06-05 22:10:54 2032 1

原创 JWT与RSA非对称加密的原理及其在微服务中的应用

文章目录1 有状态登录2 无状态登陆3 如何实现无状态4 JWT4.1 数据格式4.2 JWT交互流程5 RSA加密5.1 加密技术5.1没有RSA加密时5.2 结合RSA的鉴权目前我们创建了若干个微服务,假如我们在用户中心做了登陆,接下来要去商品详情页添加商品,此时就要跳转到购物车微服务,但是购物车微服务和用户微服务不是同一台tomcat,之前判断登录状态是通过tomcat session...

2019-06-05 16:21:42 6297 7

原创 乐优商城:笔记(十一):用户微服务:LyUserApplication

文章目录1 创建用户中心1.1 创建ly-user-interface1.2 创建ly-user-service1.2.1 引入依赖1.2.2 配置文件1.2.3 启动类1.2.4 添加路由2 后台功能实现2.1 数据校验2.1.1 实体类2.1.2 mapper2.1.3 controller2.1.4 service2.2 实现发送短信功能2.2.1 controller2.2.2 servi...

2019-06-04 22:40:43 595 1

原创 乐优商城:笔记(十):短信微服务:LySmsApplication

文章目录引言1 创建短信微服务1.1 引入依赖1.2 配置文件1.3 启动类1.4 属性抽取1.5 编写工具类1.6 编写消息监听器2 实现短信发送功能引言注册页面上有短信发送的按钮,当用户点击发送短信,我们需要生成验证码,发送给用户。我们将使用阿里提供的阿里大于来实现短信发送。1 创建短信微服务因为系统中不止注册一个地方需要短信发送,因此我们将短信发送抽取为微服务:ly-sms-ser...

2019-06-04 16:09:22 624

原创 Redis

文章目录1 Redis是什么1.1 Nosql和关系型数据库的区别1.2 缓存1.3 Redis与Memcache2 Redis命令行2.1 通用指令2.2 字符串指令2.3 hash结构指令3 Redis持久化4 SpringDataRedis4.1 Spring Data Redis4.2 RedisTemplate4.3 StringRedisTemplate4.4 引入依赖4.5 配置文件...

2019-06-04 12:02:21 193

原创 乐优商城:笔记(九):利用中间件技术RabbitMQ优化搜索微服务和页面微服务

文章目录引言RabbitMQSpring AMQP1 项目改造思路分析2 优化商品微服务——生产者2.1 引入依赖2.2 配置文件2.3 改造GoodsService3 优化搜索微服务——消费者3.1 引入依赖3.2 添加配置3.3 编写监听器——处理消息3.4 编写创建和删除索引方法4 优化页面微服务——消费者4.1 引入依赖4.2 添加配置4.3 编写监听器4.4 添加删除页面方法引言Ra...

2019-06-03 22:38:55 555

原创 消息服务器RabbitMQ及其五种消息模型

文章目录1 消息队列(MQ)是什么1.1 实现MQ的两种方式——AMQP/JMS1.2 RabbitMQ2 五种消息模型2.1 基本消息模型2.1.1 如何避免消息的丢失2.2 work消息模型2.2.1 说明2.2.2 消息堆积越来越多?——能者多劳2.3 三种订阅模型2.3.1 订阅模型——Fanout2.3.2 订阅模型-Direct2.3.4 订阅模型-Topic2.4 如何避免消息丢失?...

2019-06-03 17:54:06 1284

原创 乐优商城:笔记(八):页面微服务:LyPageApplication

文章目录引言1 思路分析2 Thymeleaf2.1 视图解析器2.2 model1 页面微服务搭建1.1 引入依赖1.3 配置文件1.3 启动类1.4 导入页面模板1.5 nginx反向代理2 实现详情页的数据渲染2.1 封装接口2.1.1 查询spu2.1.2 查询规格参数2.2 client2.2 controller2.3 service3 ==页面静态化==3.1 简介3.1.1 问题分...

2019-05-31 20:44:31 697 2

原创 乐优商城:笔记(七):搜索微服务:LySearchApplication

文章目录引言客户端的选择创建索引和映射新增数据自定义查询聚合1 环境搭建1.1 创建搜索微服务1.1.1 导入依赖1.1.2 配置文件1.1.3 启动类1.2 搜索结果的数据结构引言客户端的选择搭建好门户网站以后,很重要的一个功能的就是搜索,以京东为例:在搜索框输入 手机 ,之后点击搜索按钮出现类别为手机的全部商品,这就需要——全文检索技术,在这个微服务当中,我们选择的是全文检索技术是...

2019-05-30 22:27:27 1225 3

原创 全文检索技术Elasticsearch

全文检索技术:1 Elasticsearch是什么2 索引2.1 对索引的操作2.2 映射的配置2.3 对数据的操作3 查询4 聚合aggregations4.1 基本概念4.2 聚合为桶1 Elasticsearch是什么Elasticsearch是一个分布式的Restfull风格的搜索和数据分析引擎,他有以下特点:分布式:无需人工搭建集群,会自动扩展Restful风格,一切API都遵...

2019-05-29 22:17:04 1148

原创 Restfull风格

URI 与 URLURL:(Uniform Resource Locator 的缩写,统一资源定位符)URI:(Uniform Resource Identifier 的缩写,统一资源标识符)(代表一种标准)关系: URI 属于 URL 更高层次的抽象,一种字符串文本标准。        就是说,URI 属...

2019-05-27 14:25:22 638

原创 乐优商城:笔记(六):商品微服务(下):LyItemApplication

文章目录1 实现商品新增1.1 controller1.2 service1.3 mapper2 富文本编辑器——用来填写商品描述信息3 添加商品规格参数3.1 controller3.2 service4 页面表单提交4.1 实体类4.2 controller4.3 service1 实现商品新增即点击 新增商品 出现如下弹窗,填写设置参数完毕之后保存1.1 controller可...

2019-05-27 12:12:28 662

转载 sql语句中#{}和${}的区别

sql语句中#{}和${}的区别#{}#将传入的数据都当成一个字符串,会对自动传入的数据加一个双引号eg:      order by #user_id#      如果传入的值是1,那么解析成sql时的值为order by “1”  &nbs...

2019-05-26 17:21:10 4263

原创 持久化(JPA)与映射(ORM)

持久化与映射:持久化(JPA,Java Persistence API):用来操作实体对象,执行CRUD操作,框架在后台替我们完成所有的事情,开发者从繁琐的JDBC和SQL代码中解脱出来将运行期的实体对象持久化到数据库中。通过面向对象而非面向数据库的查询语言查询数据,避免程序的SQL语句紧密耦合映射(ORM):ORM(Object-Relation-Mapping),即对象关...

2019-05-26 17:17:05 328

原创 maven的三种项目打包方式——jar,war,pom的区别

maven的三种项目打包方式——jar,war,pom的区别jar:默认的打包方式,打包成jar用作jar包使用。例如ly-common,它就是存放一些其他工程都会使用的类,工具类。我们可以在其他工程的pom文件中去引用它war:将会打包成war,发布在服务器上,如网站或服务。例如leyou-portal,用户可以通过浏览器直接访问,或者是通过发布服务被别的工程调用pom:用在父级工程或聚...

2019-05-26 17:15:05 7072 2

原创 乐优商城:笔记(六):上传微服务:LyUpload

文章目录1 项目搭建1.1 引入依赖1.2 配置文件1.3 启动类2 实现文件上传功能2.1等等1 项目搭建1.1 引入依赖<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.o...

2019-05-25 16:38:50 635

原创 乐优商城:笔记(五):商品微服务(上):LyItemApplication

商品微服务:1 微服务结构2 父工程的构建2.1 ly-item-interface2.2 ly-item-service      乐优商城是一个全品类的电商购物平台,那么核心自然就是商品,因此搭建商品微服务 ly-item,包含商品相关的一系列内容的管理,包括:商品分类管理品牌管理商品规格参数管理商品管理库存管理1 ...

2019-05-24 20:27:18 1621

原创 SpringBoot和SpringCloud

介绍:- SpringBoot 是 Spring 的一套快速配置脚手架,可以基于spring boot 快速开发单个微服务,快速、方便集成的单个个体,约定大于配置;SpringCloud是一个基于Spring Boot实现的云应用开发工具,是关注全局的服务治理框架,必须基于SpringBoot开发;区别:SpringBoot可以离开SpringCloud独立使用开发项目;Sprin...

2019-05-18 17:35:34 204

原创 乐优商城:笔记(三):网关微服务:LyGateway

网关微服务:1 添加依赖2 编写启动类3 配置文件1 添加依赖<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" ...

2019-05-18 16:35:00 670

原创 乐优商城:笔记(二):注册微服务:LyRegister

1、工程创建1.1 添加依赖<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLoc...

2019-05-16 22:12:11 873

原创 git的基本使用

使用git前的SSH配置:配置SSHgit config --global user.name "用户名"git config --global user.email "邮箱"注意:户名和邮箱是git提交代码时用来显示身份和联系方式的,并不非得是github用户名和邮箱生成秘钥ssh-keygen -t rsa -C "邮箱"设置公钥打开id_rsa.pub文件,把内容拷贝到gi...

2019-05-12 12:03:26 148

原创 乐优商城:笔记(一):项目概述

文章目录1.系统架构1.1 前端技术简述1.2 前端技术选型1.系统架构1.1 前端技术简述Vuetifyvuetify是一个Vue的UI库,提供非常丰富的Vue组件供开发者使用,它支持SSR(服务端渲染),单页应用程序等。NUXT这个貌似老师没有讲唉,不知道前端用没用,前端99%都是老师写的,我对前端拿来主义~(ps:nuxt是做服务器渲染之类的,但是搜索引擎要搜索到页面,必须...

2019-05-07 17:43:55 5533 2

原创 maven install时报错 程序包不存在以及找不到类的情况

1 报错[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.7.0:compile (default-compile) on project ly-item-interface: Compilation failure: Compilation failure:[ERROR] /D:/j...

2019-04-24 22:04:00 25364 34

原创 maven打包报错:spring-boot-maven-plugin:2.0.1.RELEASE:repackage failed: Unable to find main class

1 install时发生如下报错[ERROR] Failed to execute goal org.springframework.boot:spring-boot-maven-plugin:2.0.1.RELEASE:repackage (default) on project ly-common: Execution default of goal org.springframework....

2019-04-24 20:05:40 12414 2

原创 maven打包时install出现xxx:error in opening zip file

xxx:error in opening zip file我的程序显示:盘符:apache-maven-3.0.5\repository\org\apache\tomcat\tomcat-annotations-api\8.5.29\tomcat-annotations-api-8.5.29.jar:error in opening zip file进入目录发现tomcat-annota...

2019-04-24 19:44:36 2475

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除