自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 【无标题】

有些时候,对一些已有的项目需要做一些增强的方法,但是又不能改变原有的项目结构,这个时候就可以用装饰器模式,我自己觉得装饰器模式有点像代理模式,不同在于一个在方法里面增强,一个在方法外且执行方法的前后增强,目前是已经增强了,如果还想再增加一些业务逻辑而且不侵入源代码的话,还可以在AddDecorator 添加方法。能看到装饰了一次,然后又装饰了一次,还有需求的话还可以再装o.o。继承一个装饰器Service,写一个增强类。在controller调用。调用controller。做演示就实现两个方法。

2023-06-16 16:17:41 72

原创 es的yml配置跨域问题,配合es的head使用

======================== Elasticsearch Configuration =========================NOTE: Elasticsearch comes with reasonable defaults for most settings.Before you set out to tweak and tune the configuration, make sure youunderstand what are you trying to ac

2020-12-03 18:19:21 844

原创 记一次组装层级对象,全国省份

@GetMapping("/getAll") public Result<List<RegionCityModel>> getAll(){ //获取所有省份名称 List<RegionCityModel> allCityModels = regionService.selectList(null); List<RegionCityModel> firstCityModels = regionService

2020-11-19 11:47:17 211

原创 Stream流学习

Stream是什么Stream呢,很多地方说到它是处理集合的关键抽象概念,这样子说实在是太抽象了。这个Stream并不是我们以前认识的IO流,而是一个数据渠道,用于操作数据源(集合、数组等)所生成的元素序列。集合专注的是数据,流专注的是计算。有什么用它可以让你对集合执行非常复杂的查找、过滤和映射数据等操作。通过使用Stream API对集合数据进行操作,就类似于使用 SQL 执行的数据库查询,也可以使用 Stream API 来并行执行操作。简而言之,Stream API 提供了一种高效且易于使用的处

2020-10-30 17:00:26 362

原创 记一次使用二进制的体验

需求是这样的,需要使用二进制00000000,当第几位0为1时表示某一种状态,刚开始叫我实现这个需求我一脸懵逼要写这个建议去百度一篇java描写二进制运算的方法,什么非运算,与运算,或运算之类的。看完才会/** * @author zx * @description * @data 2020/9/21 10:37 */@Getterpublic enum IsInfoEnum { ISCOURSEMAPPING(0, 0b00000001, "课程映射"), ISSPAPE

2020-10-28 17:03:17 109

原创 记一次修改echarts又图形改成表格

echarts官网:https://echarts.apache.org/examples/zh/index.html现在有需求,就是领导说图形界面看着太乱了,看着花里胡哨,不想看。就说能不能变得简单点然后我接到这需求看了眼后台代码,后台代码写的是用echarts来表示的图表,我就想着用原生的echarts来切换用表格展示,但是原生的表格看着不怎么美观,就重写了原生的方法,拼接html添加进了表格toolbox: { feature: {

2020-10-28 15:36:01 784

原创 element-ui按钮点击显示是否执行

现有需求点击按钮,需要确认是否执行,看了下element-ui的官网方法,地址如下https://element.eleme.cn/#/zh-CN/component/message-box<template> <el-button type="text" @click="open">点击打开 Message Box</el-button></template><script> export default { me

2020-10-28 15:20:24 753

原创 记一次苹果登录后台验证

苹果登录因为第三方的原因,从6月30号起就强制使用苹果登录才能通过苹果的审核看了下苹果的官方文档,我觉得真的是写的最low的文档,都没有一个后端的demo所以我就各种查询资料,看文档,终于写出了一个下面是写的一个工具类代码(用来验证的苹果前端传的identityToken的)import com.alibaba.fastjson.JSON;import com.alibaba.fastjson.JSONArray;import com.alibaba.fastjson.JSONObject;i

2020-09-03 18:19:13 541

原创 JVM调优实战--自己的小项目优化过程

JVM调优实战启动优化:运行优化:一级目录二级目录三级目录90%的项目都不需要调优,除非是达到了京东天猫级别的网站访问量和并发量,其他的视情况而定,一般都是自己的代码问题,能优化代码的尽量优化代码启动优化:第一次启动:[GC (Allocation Failure) [PSYoungGen: 65024K->7481K(75776K)] 65024K->7497K(249344...

2020-04-27 20:33:24 884 2

原创 Windows的80端口被占用

Windows的80端口被占用二级目录三级目录查看占用80端口的进程:netstat -ano|findstr 80tasklist:二级目录三级目录

2020-04-26 09:52:50 110

原创 Springcloud-alibaba-seata分布式事务

Springcloud-alibaba-seata分布式事务http://seata.io/zh-cn/介绍:修改配置文件:创建服务:订单服务:http://seata.io/zh-cn/下载地址:http://seata.io/zh-cn/blog/download.html介绍:一个典型的分布式事务过程:一个id三个组件。一个id:全局唯一的事务id,Transaction ID X...

2020-04-25 17:52:39 550

原创 Springcloud-alibaba-sentinel

Springcloud-alibaba-sentinelsentinel是什么:Sentinel主要特征:启动Sentinel的控制台:簇点链路:流控规则:配置一下流控:sentinel是什么:随着微服务的流行,服务和服务之间的稳定性变得越来越重要。Sentinel 以流量为切入点,从流量控制、熔断降级、系统负载保护等多个维度保护服务的稳定性。Sentinel 具有以下特征:丰富的应用场景...

2020-04-06 22:42:58 555

原创 Springcloud-alibaba-nacos

Springcloud-alibabanacosnacos使用nacos在cp和ap之间的切换nacos替代config作为服务中心nacos多环境多项目管理DataId方案:group方案:Namespace方案:nacos集群和持久化配置nacos下载地址:https://github.com/alibaba/spring-cloud-alibaba/blob/master/README-...

2020-04-04 20:37:11 497

原创 Nginx在Linux上的安装和使用

Nginx什么是Nginx概念:1 反向代理2 负载均衡3 动静分离务在Linux上安装Nginx反向代理配置:Nginx介绍地址:https://lnmp.org/nginx.html提示没有什么命令的时候的安装命令:curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo什...

2020-04-03 17:46:16 216

原创 Tomcat在Linux上的安装和使用

Tomcat下载tomcat的安装包。并放到指定的目录下载tomcat的安装包。并放到指定的目录解压启动tomcat进入bin目录并启动tomcat访问:这应该是没有开放端口,需要开放一下开放时遇到firewlld not running# 查看防火墙状态# systemctl status firewalld.service● firewalld.service ...

2020-04-03 17:11:24 326

原创 Linux的vim命令不能使用

百度了各种方法,很多人也发现光是修改REBOOT=yes也没用,多次进行挂载、修改网卡配置文件、重置IP地址、重启网络、创建又删除配置文件的,都还是解决不了上面的问题,最后在yum软件仓库的配置文件中发现了问题:位置锁定在:/etc/yum.repos.d/直接把CentOS-Bas.repo文件修改一个后缀名就行了mv /etc/yum.repos.d/CentOS-Base.r...

2020-04-01 01:33:54 2400

原创 springcloud-Sleuth分布式请求链路跟踪

在分布式中,由于一个请求往往会调用多个服务进行协同调用,每一个前端请求都会形成一个复杂的分布式服务调用链路,链路中任何一个环节出现了高延迟或者错误异常都会引起整个请求最后的失败**Sleuth:**提供了解决方案**zipkin:**一个分布式跟踪系统。它有助于收集解决服务体系结构中的延迟问题所需的时间数据。功能包括收集和查找这些数据并提供了可视化界面下载zipkin:https://dl...

2020-03-30 14:35:07 465

原创 Springcloud-Stream消息驱动

自我理解:就是屏蔽各种mq底层细节差异,自动的在各种mq内切换,统一消息的变成模型,感觉就跟Hibernate使用配置方言来驱动各种数据库一样,Stream遵循的是消息队列的发布订阅模式新建生产者发送消息模块添加pom依赖:<dependency> <groupId>org.springframework.cloud</groupId&...

2020-03-30 03:16:35 137

原创 springcloud-bus消息总线的使用

在微服务架构中,通常会使用轻量级的消息代理来构建一个共用的消息主题来连接各个微服务实例,它广播的消息会被所有在注册中心的微服务实例监听和消费,也称消息总线。SpringCloud中也有对应的解决方案,SpringCloud Bus 将分布式的节点用轻量的消息代理连接起来,可以很容易搭建消息总线,配合SpringCloud config 实现微服务应用配置信息的动态更新。消息总线其实通过消息中间...

2020-03-29 23:03:34 321

原创 Springcloud-config分布式配置中心的使用

随着服务的扩展,配置文件也越来越多,这时候就需要一个集中修改配置文件的地方来管理配置文件在自己的git上新建个项目用来测试https://github.com/chill-zx/springcloud-config.git...

2020-03-29 17:53:22 99

原创 Gateway网关

网关为什么不用zuul了,因为没有人维护了,而zuul2正在研发,研发了大概两年了还没出来算是一个半成品,而spring社区自己搞得gateway现在也比较好,所以就用gateway来当作网关使用,而且gateway使用的是异步非阻塞模型上开发的gateway三大核心:1 route(路由)2 predicate(断言)3 Filter(过滤)新建一个服务,添加pom:但是不需要sp...

2020-03-28 17:20:32 182

原创 Hystrix的使用说明

什么是HystrixHystrix是一个用于处理分布式系统的延迟和容错的开源库,在分布式系统里,不可避免的会产生调用失败,比如调用超时,异常等,Hystrix能够保证在一个以来出问题的情况下,整个服务不会失败,避免级联故障以提高分布式系统的弹性**断路器:**本身是一种开关装置,当某个服务单元发生故障后,通过断路器的故障监控,像被调用方返回一个可预期的,可处理的备选选项,而不是长时间等待或者处...

2020-03-28 13:16:06 144

原创 OpenFeign的使用

Figen是一个声明式的WebServer客户端,可以与eureka,ribbon结合实现负载均衡新建一个工程:添加openfegin的pom依赖添加application.yml文件编写主启动类:编写需要调用的服务以及需要调用的接口以调用8001的接口为例编写controller层启动服务:能看出也实现了负载均衡的功能,简单总结一下,就是需要创建一个接口,实...

2020-03-25 22:00:44 5344 5

原创 Ribbon的使用说明

Ribbon,一个软负载均衡的客户端组件核心就是负载均衡的算法+RestTemplate负载均衡的方法(IRule):1 轮询2 随机3 权重4 最佳(出错最少的)pom的引入。开始我引入的ribbon的gav,后来发现就是netfix-eureka-client自己继承了ribbon,所以就不用再引入ribbon的gav了如图:<dependency> ...

2020-03-25 16:08:47 491

原创 consul作为服务注册中心替换eureka

首先去consul的官网下载consul下载完后解压就是这样的双击启动再启动cmd输入一下以下命令现在以下就成功了1 导入consul的pom依赖2 配置application.yml文件3 构建一个启动类在这里插入图片描述4 构建一个controller测试5 启动:发现consul里有了注册信息了再建一个order来调用,能看到已经可以调用了,说明可以替代...

2020-03-24 19:38:46 334

原创 简单实现服务发现

1 首先或者DiscoveryClient实例2 编写控制层3 修改启动类添加服务发现注解@EnableDiscoveryClient4 访问:

2020-03-23 00:51:34 323 1

原创 actuator微服务信息完善的使用

actuator微服务信息完善主要是主机名和ip显示的修改修改服务的application.yml的配置文件,8001:8002:重新启动服务查询actuator状态健康状态都是ok的主机名:主机名更改为了payment8001和payment8002显示ip:修改application.yml文件就ok修改后未修改:...

2020-03-22 23:59:47 185

原创 简单实现RestTemplate服务的负载均衡

现在服务调用上加上端口号,方便调用的时候查看调用了哪个端口的服务照着8001复制的相同的服务,就更改了端口号,8001:8002:也是一样的加上8002的端口号方便查看启动服务:共计三个服务都注册进去了访问8001:访问8002:修改80访问地址:修改80的配置类,添加负载均衡的注解@LoadBalanced(不添加会报错,说找不到服务,因为服务多了就不知道具体访问...

2020-03-22 23:45:28 1028

原创 Eureka高可用集群并实现服务的注册

实现方式,互相注册,相互实现,对外暴露步骤:1 新建一个eureka服务注册中心,端口70012 再参照7001新建一个eureka服务注册中心3 更改主机的映射文件:4 更改好配置后就可以更改7001的配置文件了原先的:更改后的:把host更改的7002端口注入进去5 修改7002端口的application文件6 在7002写上启动类然后启动7 访问7001...

2020-03-22 22:41:22 242

原创 基于RestTemplate的一个小坑

基于RestTemplate的调用其他服务插入数据失败的原因创建了一个支付工程控制层的插入数据如下创建一个订单的工程使用RestTemplate调用如下:查询能查询出来,插入数据也显示成功,但是插入数据主键有了没有数据后面经过排查才知道因为没有再调用的服务上使用@ResquestBody注解导致没有接收到参数加上注解后就能接收到参数了...

2020-03-22 01:11:37 347

原创 MyBatis传递多个参数和杂文

1 顺序传递方法名:select(String userNname,String mobile)mapper.xml:select id,userName from userwhereuserName = #{1} and//第一个参数mobile = #{2}//第二个参数。2 注解传参方法名:select(@Param(“userNname”) String userNam...

2020-03-08 17:10:11 87

原创 记录mysql不能group by的问题

记录一下mysql不能group by的问题由于在自己电脑上测试的时候不能group by,显示报错,但是又确定自己的sql没有问题,sql语句如下:select * from information group by sex;这是我测试的表结构:执行语句报错如下:1055 - Error querying database. Cause: java.sql.SQLSyntaxEr...

2020-01-17 14:47:11 976 1

原创 jvm总结

jvm内存图方法区和对是所有线程共享的内存区域;而java栈、本地方法栈和程序员计数器是运行是 线程私有的内存区域。1、java对(heap) 是java虚拟机管理内存的最大的一块,是所有线程共享的一块区域,在虚拟机启动时创建,此内存的唯一目的就是存放对象实例,几乎所有的对象实例都在这里分配2、方法区(Method Area),和堆一样,是各个线程共享的内存区域,用于存储已被虚拟机加载的类...

2020-01-14 18:23:22 120 1

原创 JAVA基础

java重写和重载重写:是子类对父类的允许访问的方法的实现过程进行重新编写, 返回值和形参都不能改 变。即外壳不变,核心重写!重写的好处在于子类可以根据需要,定义特定于自己的行为。 也就是说子类能够根据需要 实现父类的方法。重写方法不能抛出新的检查异常或者比被重写方法申明更加宽泛的异常。例如: 父类的一 个方法申明了一个检查异常 IOException,但是在重写这个方法的时候不能抛出 E...

2020-01-14 15:11:54 78

原创 git上传文件

由于好久没有使用过git了,忘了上传文件的方法了,在这里记录一下安装git就不用说了吧,自行百度1、首先自己在github上登录,然后创建一个新的文件。2、点击在本地需要上传的文件右键选择Git Bash Here3、输入git init,会自己创建一个.git文件4、输入git add .(点前面有空格)5、输入git status可以查看状态,你也可以不看。就是看有没有创建文件...

2020-01-02 16:48:13 660

原创 JAVA设计模式

1、单例模式定义:确保某一个类只有一个实例,而且自行实例化并向整个系统提供这个实例。通用代码:(是线程安全的)public class Singleton { private static final Singleton singleton = new Singleton();//限制产生多个对象 private Singleton(){ } //通过该方法获得实例对象 publ...

2020-01-02 15:32:50 114

原创 Spring-AOP分析

AOP都知道,是spring中的面向切面编程,就是可以把我们写的代码横向扩展,而且又不会影响原来的代码结构,是一种思想。说白了就是可以在你想实现什么功能的前后能够搞一些事情。底层使用的是JDK和Cglib动态代理为什么要使用AOP呢:1、AOP采用了横向的抽取机制,取代了传统纵向继承体系重复性代码结构2、可以在不修改源代码的前提下,对程序功能进行增强主要的几种的方式:1、前置通知:@Be...

2019-12-11 18:52:39 296

原创 Spring-bean的分析

@Spring-Bean的创建和获取创建bean.xml来获取bean<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-insta...

2019-12-02 16:02:33 161

原创 mysql-主从复制

主从复制安装第一个mysql数据库,如果你的电脑上已经安装过了,那么可跳过此步骤。(没有安装的自行百度)。安装第二个数据库之前,最好先在服务中停止第一个MYSQL服务(MySQL-slave是我的从库服务,请大家忽略)。在配置的时候最好先停止mysql服务器安装从库新建一个文件夹,把原来mysql中的全部复制过来。敲黑板:在data文件下有一个auto.cnf文件,里面记录的是UUI...

2019-11-27 12:54:56 113

原创 SpringCloud-zuul

新建springboot项目并选择相关依赖pom.xml如下<dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-w...

2019-11-21 18:55:58 112

空空如也

空空如也

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

TA关注的人

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