自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(124)
  • 收藏
  • 关注

原创 服务调用&分布式session

SpringBoot整合Spring-Session的自动配置可谓是开箱即用,极其简洁和方便。这篇文章即介绍SpringBoot整合Spring-Session,这里只介绍基于RedisSession的实战。Spring Session 是Spring家族中的一个子项目,Spring Session提供了用于管理用户会话信息的API和实现。

2023-02-12 20:58:26 605 1

原创 Mybatis与微服务注册

将资料目录中的《易买网网页素材.rar》解压后,将其中Index.html、Product.html和js/css/images等等添加到项目的templates和static目录下,最好请将Index.html、Product.html页面首字母改成小写。解决方案:(此处将在第三次课解决,使用nginx动静分离方式实现) 配置静态资源访问服务器,将各个微服务模块中的静态访问资源迁移到静态资源访问服务器中,然后通过http方式访问即可。将页面中的头部申明修改成

2023-02-12 11:13:03 581

原创 微服务框架及多模块开发

先有消费者需求产生而后有企业生产,即先 有消费者提出需求,后有生产企业按需求组织生产 4、C2C模式 C2C (Customer to Consumer),客户之间自己把东西放上网去卖,如:淘宝,闲鱼 5、O2O模式 O2O即Online To Ofline,也即将线下商务的机会与互联网结合在了一起,让互联网成为线 下交易的前台。如:饿了么,美团,淘票票,京东到家。在我们调用微服务是是通过微服务的名称进行调用(这时网关就会找到微服务的配置中心处,找到是否存有你所需要的微服务名称,有就拉取资源)

2023-02-05 00:00:00 905

原创 OAuth2代码流程演示

导入新项目后就会下载新的插件,一定记得换maven地址,注意这里换了maven地址后,下载的插件还是下载到默认地址,这个时候我们重启开发工具即可。新建项目时,如果换了工作区间我们一定要记得改maven地址,不然下载插件时不仅占用C盘内存,还会下载的很慢。资源所有者生成授权码后,需要回调客户的一个接口,将授权码传回, 客户得到授权码后,需要向认证。认证服务器接到客户请求,生成令牌,并返回令牌数据。客户获取了令牌,并使用令牌向资源服务器请求数据。资源所有者接到客户的请求,需要返回授权码。资源所有者下发授权码。

2023-02-01 21:30:00 388

原创 OAuth2入门

OAuth2.0是目前使用非常广泛的授权机制,用于授权第三方应用获取用户的数据。用户可以通过选择其他登录方式来使用gitee,这里就使用到了第三方认证。OAuth引入了一个授权层,用来分离两种不同的角色:客户端和资源所有者。......资源所有者同意以后,资源服务器可以向客户端颁发令牌。客户端通过令牌,去请求数据。

2023-02-01 20:45:00 669

原创 小程序后台数据交互-个人中心

session_key 功能说明 微信客户端通过wx.getUserInfo()获取用户的信息 后台有时候也需要获取微信客户端的用户信息,因此,就需要利用session_key这个秘钥来从微信平台中获取 官方文档原文 签名校验以及数据加解密涉及用户的会话密钥 session_key。但是utf8的超集utf8mb4一个字符最多能有4字节,所以能支持emoji表情的存储。小程序端长时间不使用,服务端的session_key会失效,无法再用session_key去微信端获取数据,需要小程序端重新执行登录操作;

2023-01-03 19:55:50 1769 11

原创 小程序项目-后台交互(首页)

所谓Promise,简单说就是一个容器,里面保存着某个未来才会结束的事件(通常是一个异步操作)的结果。Promise 是异步编程的一种解决方案,比传统的解决方案——回调函数和事件——更合理和更强大。fulfilled: 成功 (已完成), 调用 resolve, 就会将状态从pending改成fulfilled, 且将来就会执行.then。rejected: 失败 (拒绝), 调用 reject, 就会将状态从pending改成rejected, 且将来就会执行.catch。将以上的数据展示到前台。

2023-01-03 01:30:00 495 1

原创 小程序项目开发-其他页面

自定义tab组件然后新建一个文件夹tabs.json{}tabs.wxmltabs.wxss.inner {}.tabs {top: 0;}*/}*/}tabs.js/*** 组件的属性列表*/},/*** 组件的初始数据*/data: {},/*** 组件的方法列表*/// 获取索引// 触发 父组件的事件。

2023-01-03 00:15:00 187

原创 小程序项目开发

1) Flex是Flexible Box的缩写,意为”弹性布局”,用来为盒状模型提供最大的灵活性。2) 任何一个容器都可以指定为Flex布局。容器默认存在两根轴:水平的主轴(main axis)和垂直的交叉轴(cross axis)。主轴的开始位置(与边框的交叉点)叫做main start,结束位置叫做main end;交叉轴的开始位置叫做cross start,结束位置叫做cross end。项目默认沿主轴排列。

2022-12-27 03:30:00 903

原创 小程序框架

事件是视图层到逻辑层的通讯方式。事件可以将用户的行为反馈到逻辑层进行处理。事件可以绑定在组件上,当达到触发事件,就会执行逻辑层中对应的事件处理函数。事件对象可以携带额外信息,如 id, dataset, touches。

2022-12-26 22:07:50 3226 1

原创 微信小程序入门

1.什么是小程序?微信小程序(wei xin xiao cheng xu),简称小程序,英文名Mini Program,是一种不需要下载安装即可使用的应用( 张小龙对其的定义是无需安装,用完即走,实际上是需要安装的,只不过小程序的体积特别小, 下载速度很快,用户感觉不到下载的过程 )限制:同一个分包中的页面享有共同的预下载大小限额 2M,限额会在工具中打包时校验。2.小程序可以干什么?同App进行互补,提供同app类似的功能,比app操作更加简洁的轻应用通过扫一扫或者在微信搜索即可下载。

2022-12-26 01:45:00 963

原创 RabbitMQ之延迟队列

采取定时任务轮训数据库订单,并且批量处理。其弊端也是显而易见的;对服务器、数据库性会有很大的要求,并且当处理大量订单起来会很力不从心,而且实时性也不是特别好。当然传统的手法还可以再优化一下,即存入订单的时候就算出订单的过期时间插入数据库,设置定时任务查询数据库的时候就只需要查询过期了的订单,然后再做其他的业务操作. 场景:“订单下单成功后,15分钟未支付自动取消”1.传统处理超时订单采取定时任务轮训数据库订单,并且批量处理。其弊端也是显而易见的;

2022-12-23 21:30:00 1110

原创 RabbitMQ与交换机

直连交换机是一种带路由功能的交换机,一个队列会和一个交换机绑定,除此之外再绑定一个routing_key,当消息被发送的时候,需要指定一个binding_key,这个消息被送达交换机的时候,就会被这个交换机送到指定的队列里面去。主题交换机的routing_key需要有一定的规则,交换机和队列的binding_key需要采用*.#.*.....的格式,每个部分用.分开,其中。因此,当携带着名为”hello”的路由键的消息被发送到默认交换机的时候,此消息会被默认交换机路由至名为”hello”的队列中。

2022-12-18 20:43:39 605

原创 RabbitMQ入门

消息队列(Message Queue,简称MQ),从字面意思上看,本质是个队列,FIFO先入先出,只不过队列中存放的内容是message而已作用:应用程序“对”应用程序的通信方法。

2022-12-13 22:51:05 1203

原创 Nacos的持久化和集群部署

注1:容器启动成功后,修改mysql允许root远程访问(同上)

2022-12-13 21:00:00 667

原创 Docker安装Nginx

Nginx也是一款服务器,我们常用它做如:反向代理、负载均衡、动态与静态资源的分离的工作,反向代理:反向代理(Reverse Proxy)方式是指以代理服务器来接受internet上的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给internet上请求连接的客户端,此时代理服务器对外就表现为一个服务器。负载均衡:目前大多数的网站都会采用负载均衡手段来针对目前用户的指数级增长来减少对单点服务器的负载压力,

2022-12-09 23:45:00 863

原创 Docker网络配置

创建自定义网络(复制命令时注意空格)查看网络。

2022-12-09 21:00:00 961

原创 Docker-宿主机与容器之间的文件拷贝

目录一,Docker运行MySQL容器二,数据卷三,数据卷容器四,Dockerfile制作增强版五,Docker制作自定义Tomcat利用MySQL镜像安装MySQL服务在虚拟机连接工具中创建MySQL数据库,将以上代码在链接工具运行即可执行完毕后在数据库中尝试链接 当出现以下错误时也许是冲突的原因,有两个后多个密码相同的数据库,在链接工具中停掉其中一个即可(命令如下:docker stop 数据库名) 从容器中拷贝文件到宿主机 从宿主机拷贝文件到容器(与上反过来) 将宿主机的目录与容器的目录进行挂

2022-12-06 22:45:00 8218

原创 Docker入门

目录一,Docker简介 Docker的应用场景 Docker 的优点Docker的架构二,Centos7安装Docker 三, Docker HelloWorld运行原理解析四,阿里云镜像仓库五,Docker 容器常用命令 Docker镜像常用命令1、Docker创建并启动容器 2.Docker列出容器 3.Docker退出容器4.Docker进入容器5.Docker启动命令6.Docker重启容器7.Docker停止容器8. Docker删除容器9.Docker容器日志9,Docker HelloWor

2022-12-03 21:37:07 134

原创 服务网关之Spring Cloud Gateway

Spring Cloud Gateway是Spring公司基于Spring 5.0,Spring Boot 2.0 和 Project Reactor 等技术 开发的网关,它旨在为微服务架构提供一种简单有效的统一的 API 路由管理方式。它的目标是替代 Netflix Zuul,其不仅提供统一的路由方式,并且基于 Filter 链的方式提供了网关基本的功能,例如:安 全,监控和限流。性能强劲:是第一代网关Zuul的1.6倍功能强大:内置了很多实用的功能,例如转发、监控、限流等设计优雅,容易扩展。

2022-11-29 22:11:53 154

原创 使用Nacos作为配置中心

配置中心的思路:首先把项目中各种配置全部都放到一个集中的地方进行统一管理,并提供一套标准的接口。当各个服务需要获取配置的时候,就来配置中心的接口拉取自己的配置。当配置中心中的各种参数有更新的时候,也能通知到各个服务实时的过来同步最新的信息,使之动 态更新。当加入了服务配置中心之后,我们的系统架构图会变成如下常见的配置中心如下:Apollo Apollo是由携程开源的分布式配置中心。

2022-11-29 06:00:00 2287

原创 Nacos注册中心和服务消费方式

服务治理是微服务架构中最核心最基本的模块。用于实现各个微服务的自动化注册与发现。在服务治理框架中,都会构建一个注册中心,每个服务单元向注册中心登记自己提供服 务的详细信息。并在注册中心形成一张服务的清单,服务注册中心需要以心跳的方式去监测清单中 的服务是否可用,如果不可用,需要在服务清单中剔除不可用的服务。服务调用方向服务注册中心咨询服务,并获取所有服务的实例清单,实现对具体服务实 例的访问。参考图。

2022-11-28 18:03:53 433

原创 微服务环境搭建

系统架构大体经历了下面几个过程: 单体应用架构--->垂直应用架构--->分布 式架构--->SOA架构--->微服务架构单体架构介绍互联网早期,一般的网站应用流量较小,只需一个应用,将所有功能代码都部署在一起就可以,这 样可以减少开发、部署和维护的成本。比如说一个电商系统,里面会包含很多用户管理,商品管理,订单管理,物流管理等等很多模块, 我们会把它们做成一个web项目,然后部署到一台tomcat服务器上。如图所示优点:项目架构简单,小型项目的话, 开发成本低项目部署在一个节点上, 维护方便。

2022-11-25 22:00:00 1760

原创 springboot整合其它项目

输入yil文件中对应的用户名及密码即可 进入首页。service层ClazzBizImpl.java使用。测试时有云服务器的可用云服务器,没有的打开虚拟机即可。添加配置,不要最新的,进过测试SQL监控失效。在我们访问地址之后 URL监控会有限显示。application.yml相关配置。配置类RedisConfig.java。测试注解式开发,修改代码如下。

2022-11-03 22:45:00 785

原创 自定义starter

启动器starter命名#官方#第三方什么是SpringBoot starter机制SpringBoot中的starter是一种非常重要的机制(自动化配置),能够抛弃以前繁杂的配置,将其统一集成进starter,应用者只需要在maven中引入starter依赖,SpringBoot就能自动扫描到要加载的信息并启动相应的默认配置。starter让我们摆脱了各种依赖库的处理,需要配置各种信息的困扰。SpringBoot会自动通过classpath路径下的类发现需要的Bean,

2022-11-03 22:35:06 105

原创 springboot视图渲染技术

什么是 FreeMarker?- FreeMarker 中文官方参考手册项目创建如下代码生成后相关配置稍作调整yml文件mybatis:logging:server:spring:mvc:redis:先复制一个类似模块然后点击+号,将复制的内容粘贴即可。点击ok右键我们就可以看到刚刚添加的启动类}}效果图二,Freemarker语法1.取值1.1. 提供默认值

2022-11-03 22:00:00 119

原创 ssm和springboot整合

* 读取控制台内容*

2022-11-03 20:30:00 99

原创 SpringBoot相关知识点

Java注解是附加在代码中的一些元信息,用于一些工具在编译、运行时进行解析和使用,起到说明、配置的功能。注解相关类都包含在java.lang.annotation包中。JDK基本注解@Override:重写压制编辑器警告JDK元注解@Retention:定义注解的保留策略@Retention(RetentionPolicy.SOURCE) //注解仅存在于源码中,在class字节码文件中不包含。

2022-11-03 19:30:00 577

原创 Redis相关知识

Redis是一个开源(BSD许可),内存存储的数据结构服务器,可用作数据库,高速缓存和消息队列代理。它支持字符串、哈希表、列表、集合、有序集合,位图,hyperloglogs等数据类型。内置复制、Lua脚本、LRU收回、事务以及不同级别磁盘持久化功能,同时通过Redis Sentinel提供高可用,通过Redis Cluster提供自动分区Redis 教程_w3cschoolRedis用途:1. 数据库 2. 缓存集群:哨兵、主从、分片式。

2022-11-03 17:30:00 333

原创 Selenium入门

Selenium是一个用于Web应用程序自动化测试工具。Selenium测试直接运行在浏览器中,就像真正的用户在操作一样。支持的浏览器包括IE(7, 8, 9, 10, 11),Mozilla Firefox,Safari,Google Chrome,Opera等。适用于自动化测试,js动态爬虫 等领域。

2022-09-29 17:07:37 1349

原创 Git分支&标签

创建了一个属于自己的分支,别人是看不到的,还继续在原来的分支上正常工作,而在自己的分支上干活,想提交就提交,直到开发完毕后,再一次性合并到原来的分支上,这样,既安全,又不影响其他人工作。干活都在dev分支上,也就是说,dev分支是不稳定的,到某个时候,比如1.0版本发布时, 再把dev分支合并到master上,在master分支发布1.0版本。4.当手头工作没有完成时,先把工作现场git stash一下,然后去修复bug,修复后,再git stash pop,回到工作现场。解决冲突后,再提交,合并完成。

2022-09-25 23:30:00 1215

原创 Git在IDEA的使用

注1:当cd ~/.ssh命令执行后窗口返回“no such file or directory”的时候,表示我们的电脑并没有ssh key,所以需要我们创建ssh key。注1:如果本地有ssh,执行以上命令会出现正面的提示,这里选择y,表示覆盖本地的ssh key,其实也就是ssh秘钥删除的意思。注2:为什么要删除秘钥,创建SSH的时候设置过密码,那就很有可能git操作时出现忘记密码的尴尬情况,私人令牌生成完毕后,将生成出来的密码切记先复制出来,在选中左下方要勾选的选项。以免密码没记住还要冲来一遍。

2022-09-23 00:45:00 744

原创 Git介绍

已暂存(staged):表示对一个已修改文件的当前版本做了标记,使之包含在下次提交的快照中。5.注册完成后进入主界面创建仓库(以下是登入后的主界面) 进入主界面后没有仓库,点击创建仓库即可。已修改(modified):表示修改了文件,但还没保存到git仓库中。点击创建文件进入界面,输入文件名,输入自己需要输入的内容。会打开命令窗口,打开后输入指令,在指令的后面加上复制过来的地址即可。点击克隆,找到HTTPS,复制链接之后,打开你要复制到的文件。:点击想要删除的文件 ,找到删除按钮点击确认即可删除。

2022-09-21 23:00:00 152

原创 Jwt介绍

JWT运行机制1.第一次发送登录请求,必然会携带用户信息(用户名&密码)2.通过用户信息(用户名&密码)登录成功,会将用户信息通过jwt工具类生成一个加密的字符串3.加密字符串 会以 response header 响应头的形式 响应到前端4.前端服务器,会有响应拦截器拦截,截取到响应头承载的jwt串,有会放到Vuex中5.当第二次请求,前端服务器中有一个请求拦截器,会将Vuex中的jwt串放入request header请求头中的jwt串。

2022-09-17 09:10:05 1506

原创 Vuex的使用

例如:this.$store.dispatch('setResturantNameByAsync',{resturantName: '啃德鸡2'});每一个Vuex应用的核心就是store(仓库),store基本上就是一个容器,它包含着你的应用中大部分的状态 (state)。注1:getters将state中定义的值暴露在this.$store.getters对象中,我们可以通过如下代码访问。子组件-->父组件,通过自定义事件:this.$emit('事件名',参数1,参数2,...);

2022-09-15 00:45:00 2047

原创 SPA项目表单验证&增删改查

在没有按规则输入的情况下不通过验证,点击保存不生效。补充:在表单中有的属性,在json数组中也要添加。2.表单效验通过后 调用后台数据接口完成新增功能。新增方法与修改方法窗体为同一个,修改传值。2.通过点击/新增/编辑将表单对应窗口弹出。1.出现表单组件 el-form。3.给表单这只规则 rules。代码演示(弹出框----表单)4.个表单提交是要效验规则。1.保证窗体正常弹出。

2022-09-13 19:31:00 195

原创 SPA项目开发之动态树&数据列表&分页

1.el-table 导入列表组件2.利用axios调用后台的文章查询接口->created 还没传参3.el-pagination 列表组件size-change 页的大小改变调用事件current-change 页码改变调用事件4.优化 将调用后台的文章查询接口的代码进行封装5.el-from 查询的筛选条件 已传递参数的情况下this.doSearch 共用的查询方法this.search 带查询条件的方法。

2022-09-13 10:33:23 107

原创 SPA项目开发(首页导航&左侧菜单)

process.env.moc在生产环境为false,开发环境为turn。以上两个文件还是有区别的 一个是开发环境(dev.env)表示需要这门技术mock作为数据的接口。2.导入AppMain.vue/LeftNav.vue/TopNav.vue。3.在需要用到总线中变量时,通过this.$root.Bus.$on获取中心中的变量值。2. 在子组件中通过this.$root.Bus.$emti注册事件进行传参。4.router.index.js中添加路由与组件的映射。2.引入到main.js中使用。

2022-09-12 17:37:29 371

原创 SPA项目开发之登录注册

修改HelloWorld.vue 添加 elementUI 组件查看效果。下载完成后会在Jackage.json中出四个依赖。3.修改db.properties。4.接着在前端导入api文件夹。1.引入main.js配置。1.引入main.js配置。1.将项目导入文件夹中。切记勾选.xml文件。5.运行其中的树形菜单。在前端中打开cmd运行。引入main.js配置。

2022-09-11 10:16:38 162

原创 Vue+element-UI

vue-cli是vue.js的脚手架,用于自动生成vue.js+webpack的项目模板,创建命令如下:vue init webpack 项目名注:必须先安装vue,vue-cli,webpack,node等一些必要的环境安装vue-cli。

2022-09-06 20:03:13 1833

空空如也

空空如也

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

TA关注的人

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