08 2022 档案

摘要:摘要: 为了不在Controller层写大量的try-catch代码,需要对异常进行全局统一处理,同时将错误信息和错误码进行统一管理,使用枚举类封装错误码,自定义异常类,创建一个全局异常处理类,在类上打上注解@RestControllerAdvice和Commpont,在方法上打上注解@Except 阅读全文
posted @ 2022-08-30 19:16 yyybl 阅读(113) 评论(0) 推荐(0)
摘要:摘要: Seata是由阿里中间件团队发起的开源项目Fescar,后更名为Seata,是一个开源的分布式事务框架,共有三个角色:RM资源管理器、TM事务管理器、TC事务协调器,在开启全局事务的时候,资源管理器会向事务管理器发起请求,告诉它我们要开启全局事务,需要拿到XID,事务管理器就会向事务协调器获 阅读全文
posted @ 2022-08-30 18:25 yyybl 阅读(104) 评论(0) 推荐(0)
摘要:摘要: 每个微服务都要写一个Swagger给前端参考,那么服务多了Swagger的地址也多了,前端人员需要记住很多Swagger的地址,那么如何解决这个问题?可以在网关层集成Swagger,通过网关访问接口API即可,每个服务还是需要单独集成Swagger,在网关层只是对这些Swagger的地址做了 阅读全文
posted @ 2022-08-25 22:36 yyybl 阅读(353) 评论(0) 推荐(0)
摘要:一:引入依赖【哪个服务集成Swagger哪个引入】 <!--引入swagger支持--> <dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swagger2</artifactId> <version>2.9.2</ 阅读全文
posted @ 2022-08-25 22:31 yyybl 阅读(66) 评论(0) 推荐(0)
摘要:一:引入依赖 <!--mybatisplus--> <dependency> <groupId>com.baomidou</groupId> <artifactId>mybatis-plus-boot-starter</artifactId> <version>2.2.0</version> </d 阅读全文
posted @ 2022-08-25 22:28 yyybl 阅读(49) 评论(0) 推荐(0)
摘要:一:引入依赖 <!--sentinel依赖--> <dependency> <groupId>com.alibaba.cloud</groupId> <artifactId>spring-cloud-starter-alibaba-sentinel</artifactId> </dependency 阅读全文
posted @ 2022-08-23 19:13 yyybl 阅读(153) 评论(0) 推荐(0)
摘要:摘要: 熔断作为Sentinel除了限流的另一大作用,就相当于Hystrix了,它会对微服务调用链上某个不稳定、宕机、异常、超时的资源作出请求限制并快速失败,避免因其他服务的错误导致整个微服务崩盘,主要就是通过@SentinelResource注解的fallback属性去指定降级方法和降级类 一:本 阅读全文
posted @ 2022-08-23 19:06 yyybl 阅读(97) 评论(0) 推荐(0)
摘要:摘要: Sentinel对应SpringCloud一代组件的就是Hystrix熔断器,不过它比熔断器更加的强大,其主要目的是流量控制和服务熔断,流量控制就是限流,限制服务器请求的并发数量,阻止高并发的流量冲垮服务器,熔断就是类似于Hystrix了,主要是为了保护整个微服务不被某一节点故障而拖垮 一: 阅读全文
posted @ 2022-08-23 18:13 yyybl 阅读(94) 评论(0) 推荐(0)
摘要:摘要: SpringCloudAlibaba的Nacos配置中心和SpringCloud-Config配置中心一样,只不过SpringCloudAlibaba将它整合到了Nacos,我们直接将配置文件编写到Nacos,不需要上传码云 一:打开Nacos监控面板【localhost:8848】,进入配 阅读全文
posted @ 2022-08-23 17:01 yyybl 阅读(39) 评论(0) 推荐(0)
摘要:摘要 SpringCloudAlibaba作为第二代SpringCloud组件,它拥有自己的注册中心Nacos,这个注册中心同时是配置中心,SpringCloudAlibaba已经帮我们将这个Nacos服务端集成了,我们只需下载启动即可,默认端口为8848 一:创建Maven顶级项目,引入依赖 <! 阅读全文
posted @ 2022-08-23 16:50 yyybl 阅读(55) 评论(0) 推荐(0)
摘要:摘要: 配置中心是SpringCloud的一个组件,目的就是能够将配置文件集中起来统一管理,另外,bootstrap.yml优先于application.yml执行,所以我们可以在配置中心客户端使用bootstrap.yml连接配置中心获取远程仓库的信息 一:创建远程仓库,上传每个微服务的配置文件a 阅读全文
posted @ 2022-08-22 19:33 yyybl 阅读(69) 评论(0) 推荐(1)
摘要:摘要: GateWay与Zuul一样,都是服务网关,所做的事也是一样的,不同在于GateWay是SpringCloud自己的组件,就是为了替代Zuul,SpringCloud高版本已经没有对Zuul2.0进行集成了 一:引入依赖 <dependencies> <!--引入Eureka的客户端依赖,不 阅读全文
posted @ 2022-08-22 13:30 yyybl 阅读(82) 评论(0) 推荐(0)
摘要:摘要: 现有很多微服务模块,多个模块都需要做登录校验,如果每个模块都单独写一套登录检查逻辑,这样代码量高、耦合度也高,非常不利于来发,我们需要将登录状态验证的逻辑抽取出来,而Zuul就是做这个事的,它本质上是一个WebServlet,是一个服务网关,是访问所有微服务的大门,我们在项目上线的时候只会将 阅读全文
posted @ 2022-08-22 13:22 yyybl 阅读(38) 评论(0) 推荐(0)
摘要:首先创建Maven顶级项目,再创建好Eureka服务注册中心后,创建Eureka客户端 一:引入依赖 <dependencies> <!--引入Eureka的客户端依赖,不包含springboot-start-web,所以要单独引入--> <dependency> <groupId>org.spri 阅读全文
posted @ 2022-08-20 15:40 yyybl 阅读(120) 评论(0) 推荐(0)
摘要:摘要: 熔断器的存在就是为了保证在微服务的调用链中,一旦有某个节点发生故障就立即切断服务并返回托底数据,不至于因为这个节点的故障而将整个微服务拖垮【熔断机制、快速失败、服务降级、服务监控】 Ribbon使用熔断器 一:引入依赖 <!--Hystrix依赖--> <dependency> <group 阅读全文
posted @ 2022-08-20 15:32 yyybl 阅读(50) 评论(0) 推荐(0)
摘要:摘要: OpenFeign与Ribbon都是负载均衡器,相比于Ribbon,OpenFrign集成了Ribbon、RestTemplate、Hystrix,同时也支持SpringMVC注解,它可以让我们像调方法一样简单地去调其他服务的接口,意味着Ribbon能做的事它都能做,且做的更好、更加简单强大 阅读全文
posted @ 2022-08-20 15:15 yyybl 阅读(81) 评论(0) 推荐(0)
摘要:摘要: Ribbon是用于为客户端提供负载均衡算法的,简单来说,Ribbon会根据均衡算法向多个服务集群发起调用,所以它是为我们处理集群环境下作分发请求的功能的 一、原则:谁发起调用就由谁集成 二:引入依赖 <!--Ribbon依赖--> <dependency> <groupId>org.spri 阅读全文
posted @ 2022-08-20 15:00 yyybl 阅读(25) 评论(0) 推荐(0)
摘要:在集成客户端之前应首先集成服务端 一:创建Eureka客户端maven项目,添加客户端依赖: <dependencies> <!--引入Eureka的客户端依赖,不包含springboot-start-web,所以要单独引入--> <dependency> <groupId>org.springfr 阅读全文
posted @ 2022-08-20 14:28 yyybl 阅读(57) 评论(0) 推荐(0)
摘要:一:搭建Maven顶级项目 添加父级项目的依赖 <!--SpringBoot父依赖--> <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> 阅读全文
posted @ 2022-08-20 14:21 yyybl 阅读(28) 评论(0) 推荐(0)
摘要:package cn.ybl.basic.util; import java.math.BigDecimal; import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Date; /** * 生成订 阅读全文
posted @ 2022-08-10 16:06 yyybl 阅读(180) 评论(0) 推荐(0)
摘要:Vue使用百度地图 安装模块 npm install --save vue-baidu-map 引入百度地图js 在main.js中: import BaiduMap from 'vue-baidu-map' Vue.use(BaiduMap, { /* Visit http://lbsyun.ba 阅读全文
posted @ 2022-08-09 15:49 yyybl 阅读(187) 评论(0) 推荐(0)
摘要:添加依赖 <!--jwttoken加解密工具类依赖--> <dependency> <groupId>io.jsonwebtoken</groupId> <artifactId>jjwt</artifactId> <version>0.9.0</version> </dependency> <dep 阅读全文
posted @ 2022-08-05 15:38 yyybl 阅读(62) 评论(0) 推荐(0)
摘要:此文的目的在于将所有在资源上加了自定义注解的接口自动扫描并添加进数据库 一:设计权限表的domain实体类 package cn.ybl.system.domain; import lombok.Data; /** * @Author Mr.Yang * @createTime 2022/8/2 1 阅读全文
posted @ 2022-08-02 16:24 yyybl 阅读(52) 评论(0) 推荐(0)
摘要:一:原理 级联菜单的原理就是一个下拉框,它是elementui的一个级联组件,后端需要给前端返回一个集合,首先后端需要查询出所有的上级部门,返回部门集合,然后将id作为key,对象作为value循环存入map,用于方便根据id获取对应的对象,然后创建一个新的集合用于存储处理后的部门树,循环上面的部门 阅读全文
posted @ 2022-08-02 12:50 yyybl 阅读(158) 评论(0) 推荐(0)
摘要:一:什么是三方登录 三方登录指的是基于用户在主流平台【微信、支付宝、QQ】上已有账号和密码来快速完成对己方应用的登录或注册的功能,三方登录的目的在于使用用户在主流平台的账号无需注册就能登录己方应用,这样可以扩大用户群,实现引流,同时用户体验度较高 二:微信登录接口 要想实现微信登录,需要先行在微信开 阅读全文
posted @ 2022-08-01 10:51 yyybl 阅读(361) 评论(0) 推荐(0)