自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(381)
  • 资源 (1)
  • 收藏
  • 关注

原创 idea2018生成方法注释快捷键设置(附注释模板)

点击上方File -》settings -》 Editor -》LiveTemplates -》点击右侧加号 选择template group新建模板组再左键选中你创建的模板组(我这里模板组名叫java)再次点击右侧加号选择template -》然后如下图1.自定义快捷键q2.点击最下面的蓝色字体defined,然后全部勾选,或者只勾选class,因为注释是在java类中,没选好就再点击c...

2018-09-16 23:16:08 29510 6

原创 jdk1.8 64位 32位免费下载

链接:https://pan.baidu.com/s/1OhKjMVCCkALPA8rGBpMqkg密码:0qsl链接:https://pan.baidu.com/s/1Qu94kz390YobBxO0gEiP7Q密码:mkb6

2018-08-24 15:12:53 11727 6

原创 mysql列类型二——小数类型(float,double,decimal)

小数类型专门用来存储小数的在Mysql中将小数类型又分为两类:浮点型和定点型浮点型浮点型又称之为精度类型:是一种有可能丢失精度的数据类型,数据有可能不那么准确(由其是在超出范围的时候)浮点型之所以能够存储较大的数值(不精确),原因就是利用存储数据的位来存储指数整型:所有位都为1 1 1 1 ...

2018-08-21 19:45:29 37616

原创 Diagram Designer 简体中文版安装包百度云链接

链接:https://pan.baidu.com/s/1z8S58XTVhtG9hbJ4zPIKlQ 密码:pt81

2018-08-13 13:47:18 5485 1

原创 Eclipse中如何删除项目和导入项目

删除项目选中项目 – 右键 – 删除从项目区域中删除从硬盘上删除导入项目在项目区域右键找到import 找到General,展开,并找到 Existing Projects into Workspace 点击next,然后选择你要导入的项目注意:这里选择的是项目名称...

2018-08-03 14:02:40 17837

原创 关键字+标识符+注释+常量和变量+进制转换+面试题(java基础语法篇一)

                                                                                                                      ————万物皆有其道,万语皆有其法本文适合编写第一个java程序后的进一步学习,也适合java开发老鸟巩固所用为什么大都要以图片形式展示1.手敲费时间手也累啊......

2018-07-07 18:28:42 353

原创 计算机理论基础+常用DOS命令+JAVA语言发展与特性+JDK安装与卸载+第一个java程序的编写与运行+环境变量配置的意义及步骤

入门科普:计算机,计算机硬件,计算机软件,软件开发,计算机语言,人机交互方式                             

2018-07-06 21:44:42 266

原创 143-商城业务-购物车-ThreadLocal用户身份鉴别

1.做了啥,咋做的标题写的ThreadLocal,阅读它的源码会发现,他就是一个线程Thread对象作为键的实现了map接口的类。之前我们说了分布式session解决方案springsession其实就是把session保存到redis中,这里在拦截器的预处理中取到session,判断是否包含用户信息,从而确定是否登录,若是没登录可以让跳转到登录页面,也可以就保存到离线购物车,之前京东还有离线购物车,但是现在好像没有了这里为什么要用threadlocal对象呢,因为拦截器与对应拦截方...

2021-05-08 17:19:46 3

原创 142-商城业务-购物车-数据模型分析+VO编写

1.需要实现哪些功能+实现采用技术购物车分为离线与在线购物车,未登录时可以将商品添加到购物车中,此时登录后,离线购物车中的商品会自动被添加到用户购物车中,当然只针对同一浏览器采用的是redis进行存储,因为考虑到购物车中的数据,增删改查可能都很频繁,所以不放到持久数据库中,具体需要实现的功能如下2.数据模型分析+VO编写先打开京东,看看京东的购物车中都有些啥东西,分析就不用多说了,基本就那些属性:图片,单价,总价,属性,数量等等具体包含哪些属性直接看下面vo吧创建包跟..

2021-05-06 15:38:11 1

原创 141-商城业务-购物车-环境搭建

1.创建购物车模块添加相关依赖添加common依赖,主要为继承nacos相关依赖添加配置启动类上添加feign相关注解2.端口映射3.前端文件拷贝4.网关服务中添加相关配置5.启动测试启动网关及购物车服务后,访问测试如下页面中的首页跳转不成功,再修改下...

2021-05-06 15:20:27 3

原创 140-商城业务-认证服务-一篇文章带你搞定单点登录+流程演示+源码提供

1.什么是单点登录SSO的定义是在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统实现方式,下面摘录自百度百科,可能大家对cookie与session都不明白什么意思,下面我简单介绍下cookie:是本次实现单点登录的核心参与人员,它通常是保存在内存中的,有失效性,有域名关联,在浏览器f12能看到这里就是2.简要单点登录系统 体验(1)配置域名映射(2)访问客户端1跳转到认证服务器,填写用户信息后进行认证(3)认证成功后成功跳转到..

2021-04-30 22:27:02 13

原创 139-商城业务-认证服务-SpringSession原理

简而言之就是利用了装饰者模式在过滤器中把原生的request与response替换了,session都是要通过request.getSession()来获取的,利用这点把request包装类中getSession重写了,改成从redisRepository里面取,然后过期时间自动续期也实现了,比如过期时间为30分钟,那么浏览器开着时会自动需求,浏览器关闭后30分钟后过期点进注解,一层层看代码,主要代码为如下三处...

2021-04-27 16:44:28 4

原创 138-商城业务-认证服务-SpringSession整合+序列化方式修改+自定义SpringSession完成子域session共享

看完下面内容你会发现全篇做的事其实下面一句话就说完了,你只需要完成下面这几个步骤,并且页面跨域跳转时成功显示了session内的内容那么就成功了添加依赖 添加配置 启动类加注解 代码给session内添加数据 实体类序列化注解添加页面通过session获取登录用户名1.添加依赖 <dependency> <groupId>org.springframework.session</groupId> ...

2021-04-27 12:53:37 12

原创 137-商城业务-认证服务-分布式session不共享不同步问题与最终解决方案得出

1.cookie与session是个啥?数据格式:键值对保存位置:Session信息是存放在server端,但session id是存放在client cookie的Cookie是完全保持在客户端的如:IE firefox 当客户端禁止cookie时将不能再使用生命周期:两者最大的区别在于生存周期,一个是IE启动到IE关闭.(浏览器页面一关 ,session就消失了),一个是预先设置的生存周期,或永久的保存于本地的文件。(cookie)举例:比如我登录CSDN,第一次登录时通过用

2021-04-26 14:22:34 18

原创 136-商城业务-认证服务-账号密码登录完成

1.大致流程登录跟之前注册的代码差不多登录大致流程就是修改表单,添加name与表单提交地址,认证服务后台封装vo获取后调用member服务内的登录功能 service的登录方法内先 根据用户名或者手机号获取密码,使用md5的matches方法比较,如果密码相同则登录成功跳转到首页,如果不同 则把报错信息带回登录页显示因为跟上一篇注册的代码结构基本差不多,所以这里代码就不贴了2.报错期间授权服务启动时 报了一个错,bean重复了才发现注册跟登录服务接口都是调的memb...

2021-04-26 11:07:56 6

原创 135-商城业务-认证服务-注册功能整体实现

这里完成主体功能,省略部分细节了,比如对手机号与用户名的重复校验,后面赶着面试,得做快点1.前端注册表单核心代码 <form method="post" action="/regist" class="one"> <div class="register-box"> <label class="username_label">用 户 名 <input maxlength="20" name="userName" type.

2021-04-25 00:01:47

原创 134-商城业务-认证服务-MD5盐值加密

1.概念2.用法加密encode,解密decode相当于给你封装好了 同样的密码可能撒不同的盐值,但是解密后依然还是相同的原密码 BCryptPasswordEncoder bCryptPasswordEncoder = new BCryptPasswordEncoder(); String encodePassword = bCryptPasswordEncoder.encode(memberRegistVo.getPassword()); ..

2021-04-24 23:48:26 3

原创 133-商城业务-认证服务-验证码防刷校验

1.auth服务引入redis依赖2.添加redis主机与端口的配置端口默认为63793.添加验证码前缀4.添加验证码刷新频率异常5.后端代码6.前端代码7.发送短信直接在通过feign调用第三方服务中打印或者存到redis中算了这样来测试,就不用真实的验证码短信服务了...

2021-04-20 22:47:22 8

原创 day130-商城业务-商品详情-异步编排优化

1.配置线程池一般的应用整一个线程池就够了,有可能根据业务还是啥的整俩三个,这里我们整一个,直接bean注入使其可配置package com.atguigu.gulimall.product.config;import org.springframework.context.annotation.Bean;import org.springframework.context.annotation.Configuration;import java.util.concurrent.Exec

2021-04-20 16:46:35 3

原创 day129-商城业务-商品详情-详情页渲染

<!DOCTYPE html ><html xmlns:th="http://www.thymeleaf.org"> <head> <meta charset="UTF-8"> <title></title> <link rel="stylesheet" type="text/css" href="/static/item/scss/shop.css" /> <link rel="stylesh.

2021-04-19 23:55:14 1

原创 day128-商城业务-商品详情-销售属性组合

1.sql母的是查出某spu下所有销售属性的组合SELECT ssav.`attr_id`,ssav.`attr_name`, GROUP_CONCAT( DISTINCT ssav.attr_value)FROM pms_sku_info siLEFT JOIN pms_sku_sale_attr_value ssav ON ssav.`sku_id` = si.`sku_id`WHERE si.`spu_id` = 3 GROUP BY ssav.`attr_id`,ssav.`a

2021-04-19 17:25:36 23

原创 day126-商城业务-商品详情-规格参数获取

1.规格参数是啥就是我们之前封装的属性分组里的属性,我们现在一组一组给他获取出来2.sql根据三级分类与spuId查出属性分组与对应属性的相关信息SELECT pav.`spu_id`,ag.`attr_group_id`,ag.`attr_group_name`,ag.`catelog_id`,a.`attr_id`,a.`attr_name`,pav.`attr_value` FROM pms_attr_group ag LEFT JOIN pms_attr_attrgro...

2021-04-19 16:33:58 2

原创 day125-商城业务-商品详情-模型抽取

1.因为skuId是路径中获取的所以添加注解如下2.商品详情模型的封装package com.atguigu.gulimall.product.vo;import com.atguigu.gulimall.product.entity.SkuImagesEntity;import com.atguigu.gulimall.product.entity.SkuInfoEntity;import com.atguigu.gulimall.product.entity.SpuI...

2021-04-19 09:59:53 3

原创 day124-商城业务-商品详情-环境搭建

还是老样子,还是那几步1.添加域名映射2.网关中添加配置3.把详情页复制到product模块中,然后改名为item,html4.动静分离nginx放前端文件的地方创建item文件夹,然后把前端文件上传上去5.修改原本的引用路径为新的nginx内的6.创建ItemController代码如下,就是做一个详情页的跳转package com.atguigu.gulimall.product.web;import org.springfra.

2021-04-18 19:19:47 8

原创 day132-商城业务-认证服务-登录注册路径映射+好玩的验证码倒计时前端实现

1.把登录注册的链接都设置好全局收登录注册主页把这三个链接分别改为http://auth.gulimall.com/login.html http://auth.gulimall.com/reg.htmlhttp://auth.gulimall.com2.添加mvc配置类用来作为单纯的页面跳转就不需要在controller中写了package com.atguigu.gulimall.auth.config;import org.springframework...

2021-04-11 19:14:15 14

原创 day131-商城业务-认证服务-环境搭建

1.创建新模块认证模块2.创建时页面引入依赖3.引入common依赖由于我们不需要访问数据库,都是通过feign调用远程接口所以排除 mybatis-plus依赖4.添加应用名称端口以及nacos注册中心地址,这里我们配在本机所以其实不配也行,默认就是localhost:88485.添加注解,nacos与feign的客户端相关6.迁移前端文件到nginx由于动静分离了,前端文件统一挪到nginx的static文件夹下7.修改登录与注册...

2021-04-11 17:12:14 8

原创 day123-商城业务-异步编排-CompletableFuture

待补充

2021-04-11 15:08:48 15

原创 day122-异步-线程池详解

1.为什么要使用线程池当然是大量的实际业务场景中发现前三种线程的初始化方式不好用呗,所以才有了对线程进行管理的这样一个对象的抽象封装也就是线程池具体线程池好处在哪里呢?这里我就不多说了,前人总结的经验,有时间的可以瞧瞧百度百科https://baike.baidu.com/item/%E7%BA%BF%E7%A8%8B%E6%B1%A0/4745661?fr=aladdin主要概括起来就以下几点2.线程池初始化方式及七大参数知道为啥要使用这玩意了,下面聊聊咋用首先,为啥.

2021-04-08 00:12:00 15

原创 day121-异步-初始化线程的四种方式

不多说,直接上代码把代码复制过去运行下就知道了package com.atguigu.gulimall.search.thread;import java.util.concurrent.*;/** * @author rengang * @version 1.0 * @date 2021/4/7 22:11 */public class ThreadTest { //一般在项目启动时创建线程池根据需求创建一到几个 保证最大线程数量运行时不会宕机.并且可以 //.

2021-04-07 23:13:47 15

原创 day120-商城业务-检索服务-页面分页数据渲染

1.关键词收索添加js方法 function searchByKeyWord(){ searchProducts('keyword',$('#keyword_text').val()) }元素添加id,然后超链接调用方法添加2.分页上一页在不是第一页的时候显示,下一页在不是最后一页的时候显示给他俩添加自定义属性,跳转的时候用的到查询结果对象类中加入页码集合的属性查询时加入页码集合 List&l..

2021-04-06 18:33:13 17

原创 day119-商城业务-检索服务-页面筛选条件渲染

品牌超链接修改为如下 <a th:href="${'javascript:searchProducts(&quot;brandId&quot;,'+brand.brandId+')'}">属性超链接修改为如下 <a th:href="${'javascript:searchProducts(&quot;attrs&am

2021-04-06 00:25:40 11

原创 day118-商城业务-检索服务-页面基本数据渲染

上一节已经测试好检索与返回商品数据了1.右侧商品数据渲染可以看到如下图,我们当前右侧商品部分数据都是页面写死的右键检查元素,在list.html中找到前端代码位置一个rig_tab为一行的内容保留一个其它都删了,我们开始改保留的那部分有一样的内容,我们再删掉其他三份改完后内容如下 <div class="rig_tab"> <div th:each="produ.

2021-04-02 17:32:57 6

原创 day117-商城业务-检索服务-SearchRequest构建-检索+排序、分页、高亮+聚合&测试

1.DSL语句概览与分析此篇我要做的就是完成DSL代码层面的实现,大致的结构如下,详细的DSL语句上篇已经贴出来了包含计算分数的must查询与不计算的filter外面被bool然后最外面被query对象包着然后是排序,然后是分页,然后是高亮,最后是聚合分析2.上代码...

2021-04-02 07:21:46 61

原创 day116-商城业务-检索服务-检索DSL测试-聚合部分

1.修改映射中的内容老的映射为如下,可以看到许多字段的index及doc_values都为false,那么这些字段将无法用于检索与内容的显示{ "product" : { "mappings" : { "properties" : { "attrs" : { "type" : "nested", "properties" : { "attrId" : { "t...

2021-04-01 21:10:25 7

原创 day115-商城业务-检索服务-检索DSL测试-查询部分

1.DSL回顾从上次敲DSL已经过了两三个月了,这次再来试试如下是查询的啥?查询的是标题包含华为没有库存,商品品牌id为6或8的商品知识点:组合查询使用bool,match分词后收索,term使用一整个关键词去搜索不进行分词,filter不会去计算任何分值,也不会关心返回的排序问题,因此比must啥的效率会高一点GET product/_search{ "query": { "bool": { "must": [ { "match": {

2021-04-01 01:34:52 5

原创 day115-商城业务-检索服务-检索查询参数模型+检索返回结果模型 分析抽取

1.看图思考对比京东的页面,以及之前我们sku的数据模型然后,思考我们查询条件与查询结果实体都该封装些啥2.查询条件包含的几部分3.实体封装查询条件封装实体如下package com.atguigu.gulimall.search.vo;/** * @author rengang * @version 1.0 * @date 2021/3/31 11:00 */import lombok.Data;import java.util.List;/**..

2021-03-31 16:26:40 9

原创 day114-商城业务-检索服务-调整页面跳转

1.引入页面热启动依赖因为我们前端页面要经常修改,重启比较麻烦加了下面依赖后,以后文件修改后,ctrl+F9即可 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-devtools</artifactId> </dependency>

2021-03-30 23:47:04 6

原创 day113-商城业务-检索服务-搭建页面环境

1.引依赖gulimall-search模块内引入thymeleaf依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-thymeleaf</artifactId> </dependency>2.从资料内复制收索首页

2021-03-30 10:52:35 4

原创 day112-缓存-学会SpringCache看这篇就够了(入门,注解使用,自定义配置以及不足与解决方案)

1.简介之前我们说了关于读模式写模式的一些概念,以及对于缓存一致性的解决方案这一次说的是springcache,相当于简化前面的固有操作,可以理解为对缓存的一个抽象,他是spring集成组件的一部分,有了他的话我们使用缓存就简单多了,之前许多操作往往一个注解就搞定了,官方学习链接如下https://docs.spring.io/spring-framework/docs/5.2.13.RELEASE/spring-framework-reference/2.进一步了解应用要.

2021-03-23 03:10:34 17

原创 day111-缓存-分布式锁-缓存一致性解决看这里就够了

1.缓存一致性是个啥就是缓存里的数据与数据库里的数据是不是相同的,这种一致性其实也分为实时一致性与最终一致性2.保证缓存一致性的两种常用方式这两种方式如下图,可以看到都会存在一定的问题双写模式很明显,线程一由于网络或者啥原因,先写库但是却后于线程二刷缓存,缓存内数据自然是有误的失效模式如图,线程一写db然后删缓存,没啥问题,线程二写db,然后还没删缓存的时候,线程三读缓存,线程三此时相当于读的内容中缺少了线程二写入db的内容,也就是此时缓存是少了线程二写的内容的,然后线程

2021-03-22 01:40:51 19

Diagram Designer 简体中文版安装包百度云链接.txt

Diagram Designer 简体中文版安装包百度云链接 非常实用的流程图制作软件

2021-04-01

空空如也

空空如也

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

TA关注的人 TA的粉丝

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