
srpingboot
我才是真的封不觉
某外企高级开发,菜鸟一个,希望在博客记录自己技术的成长,目标是成为一个好脾气的技术大牛。
b站账号 觉哥学java
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
143-商城业务-购物车-ThreadLocal用户身份鉴别
1.做了啥,咋做的标题写的ThreadLocal,阅读它的源码会发现,他就是一个线程Thread对象作为键的实现了map接口的类。之前我们说了分布式session解决方案springsession其实就是把session保存到redis中,这里在拦截器的预处理中取到session,判断是否包含用户信息,从而确定是否登录,若是没登录可以让跳转到登录页面,也可以就保存到离线购物车,之前京东还有离线购物车,但是现在好像没有了这里为什么要用threadlocal对象呢,因为拦截器与对应拦截方...原创 2021-05-08 17:19:46 · 437 阅读 · 0 评论 -
142-商城业务-购物车-数据模型分析+VO编写
1.需要实现哪些功能+实现采用技术购物车分为离线与在线购物车,未登录时可以将商品添加到购物车中,此时登录后,离线购物车中的商品会自动被添加到用户购物车中,当然只针对同一浏览器采用的是redis进行存储,因为考虑到购物车中的数据,增删改查可能都很频繁,所以不放到持久数据库中,具体需要实现的功能如下2.数据模型分析+VO编写先打开京东,看看京东的购物车中都有些啥东西,分析就不用多说了,基本就那些属性:图片,单价,总价,属性,数量等等具体包含哪些属性直接看下面vo吧创建包跟..原创 2021-05-06 15:38:11 · 492 阅读 · 0 评论 -
141-商城业务-购物车-环境搭建
1.创建购物车模块添加相关依赖添加common依赖,主要为继承nacos相关依赖添加配置启动类上添加feign相关注解2.端口映射3.前端文件拷贝4.网关服务中添加相关配置5.启动测试启动网关及购物车服务后,访问测试如下页面中的首页跳转不成功,再修改下...原创 2021-05-06 15:20:27 · 227 阅读 · 0 评论 -
139-商城业务-认证服务-SpringSession原理
简而言之就是利用了装饰者模式在过滤器中把原生的request与response替换了,session都是要通过request.getSession()来获取的,利用这点把request包装类中getSession重写了,改成从redisRepository里面取,然后过期时间自动续期也实现了,比如过期时间为30分钟,那么浏览器开着时会自动需求,浏览器关闭后30分钟后过期点进注解,一层层看代码,主要代码为如下三处...原创 2021-04-27 16:44:28 · 250 阅读 · 0 评论 -
138-商城业务-认证服务-SpringSession整合+序列化方式修改+自定义SpringSession完成子域session共享
看完下面内容你会发现全篇做的事其实下面一句话就说完了,你只需要完成下面这几个步骤,并且页面跨域跳转时成功显示了session内的内容那么就成功了添加依赖 添加配置 启动类加注解 代码给session内添加数据 实体类序列化注解添加页面通过session获取登录用户名1.添加依赖 <dependency> <groupId>org.springframework.session</groupId> ...原创 2021-04-27 12:53:37 · 593 阅读 · 0 评论 -
136-商城业务-认证服务-账号密码登录完成
1.大致流程登录跟之前注册的代码差不多登录大致流程就是修改表单,添加name与表单提交地址,认证服务后台封装vo获取后调用member服务内的登录功能 service的登录方法内先 根据用户名或者手机号获取密码,使用md5的matches方法比较,如果密码相同则登录成功跳转到首页,如果不同 则把报错信息带回登录页显示因为跟上一篇注册的代码结构基本差不多,所以这里代码就不贴了2.报错期间授权服务启动时 报了一个错,bean重复了才发现注册跟登录服务接口都是调的memb...原创 2021-04-26 11:07:56 · 291 阅读 · 0 评论 -
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 · 258 阅读 · 0 评论 -
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 · 470 阅读 · 0 评论 -
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 · 328 阅读 · 0 评论 -
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 · 294 阅读 · 0 评论 -
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 · 202 阅读 · 0 评论 -
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 · 189 阅读 · 0 评论 -
day83-商城业务-首页-渲染二级三级分类数据
目的:原本获取的二级三级分类数据是写死在json里的,现在改为从数据库中获取1.封装二级分类Vopackage com.atguigu.gulimall.product.vo;import lombok.AllArgsConstructor;import lombok.Data;import lombok.NoArgsConstructor;import java.util.List;/** * @author rengang * @version 1.0 * @dat.原创 2021-01-17 21:28:53 · 260 阅读 · 0 评论 -
谷粒商城day66-分布式基础篇-总结
8月14-1月6体会总结:1.微服务,最大的特点就是独立自治,为每一个不同功能的项目都可以创建一个服务,在实际开发中这些项目也可以分配给不同的开发人员进行并行开发,提高开发速度2.注册中心,若是服务之间不需要功能的调用,那么这注册中心不要也罢,可是是要的,比如定单调用库存的服务,所以需要一个注册中心来实时感知这些服务的位置,这样别的服务想要调用它的时候,只需要从注册中心获取地址列表,然后给对方发送请求就行3.配置中心,这点是很有必要的,无论是我们以前的单体应用还是现在的微服务,如果每次修改配原创 2021-01-06 17:04:31 · 261 阅读 · 0 评论 -
@SpringBootApplication注解剖析
为什么springboot可以将繁杂的配置简化为只需一个启动类即可投入生产级应用我们打开点进去,这里我们要讲三个注解1.@SpringBootConfiguration很显然字面上的意思可以看出,就是springboot的配置,因此我们可以知道这个注解是配置的一个实现,声明是springboot的配置,因此,此注解只能有一个就是在启动类上,我们除了写main方法作为启动外,也可...原创 2019-12-30 18:37:33 · 424 阅读 · 0 评论 -
springboot中两种种属性注入的方式(前者使用于多个地方使用)
现在有配置文件如下然后在pom.xml引入如下包配置方式11.创建如下类,并给类声明如下注解,prefix="你的配置文件的前缀"2.将配置文件数据置入对象3.然后使用autowired标签注入即可使用(适用于此配置项需多次使用)配置方式21.去除ConfigurationProperties注解,只保留Data注解2.在方法前加bean...原创 2019-12-30 17:29:24 · 392 阅读 · 0 评论 -
手把手教使用idea 2018.3新建springboot项目
步骤为图片顺序从上往下编写controller以测试项目是否搭建成功使用postman测试接口原创 2019-08-12 16:48:38 · 594 阅读 · 0 评论 -
使用idea2018新建一个springboot项目
file -》new project -》next填写组名与项目名-》next点击web -》选中spring web starter -》next找到启动类右键 run 即可运行原创 2019-08-09 16:42:27 · 1165 阅读 · 0 评论