自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 【ES】数据同步&集群

elasticsearch中的酒店数据来自于mysql数据库,因此mysql数据发生改变时,elasticsearch也必须跟着改变,这个就是elasticsearch与mysql之间的。集群的master节点会监控集群中的节点状态,如果发现有节点宕机,会立即将宕机节点的分片数据迁移到其它节点,确保数据安全,这个叫做故障转移。当node3当选后,集群继续对外提供服务,node2和node3自成集群,node1自成集群,两个集群数据不同步,出现数据差异。:索引可以被拆分为不同的部分进行存储,称为分片。

2023-04-09 12:39:01 2090 2

原创 【ES】数据聚合&自动补全

默认的拼音分词器会将每个汉字单独分为拼音,而我们希望的是每个词条形成一组拼音,需要对拼音分词器做个性化定制,形成自定义分词器。character filters:在tokenizer之前对文本进行处理。例如删除字符、替换字符tokenizer:将文本按照一定的规则切割成词条(term)。例如keyword,就是不分词;还有ik_smarttokenizer filter:将tokenizer输出的词条做进一步处理。

2023-04-09 12:21:45 936

原创 【ES】搜索结果处理&RestClient查询文档

query:查询条件from和size:分页条件sort:排序条件highlight:高亮条件。

2023-04-09 12:03:51 1352

原创 【ES】DSL查询文档

match和multi_match的区别是什么?match:根据一个字段查询multi_match:根据多个字段查询,参与查询字段越多,查询性能越差精确查询常见的有哪些?term查询:根据词条精确匹配,一般搜索keyword类型、数值类型、布尔类型、日期类型字段range查询:根据数值范围查询,可以是数值、日期的范围。

2023-04-08 11:20:21 583

原创 RestClient操作文档

变化的地方在于,这里直接使用client.xxx()的API,不再需要client.indices()了。不过查询的目的是得到结果,解析为HotelDoc,因此难点是结果的解析。批量处理BulkRequest,其本质就是将多个普通的CRUD请求组合在一起发送。将查询到的酒店数据(Hotel)转换为文档类型数据(HotelDoc)我们要将数据库的酒店数据查询出来,写入elasticsearch中。我们在导入酒店数据时,将上述代码改造成for循环处理即可。数据库查询后的结果是一个Hotel类型的对象。

2023-04-08 11:03:48 519

原创 RestAPI

JavaRestClient操作elasticsearch的流程基本类似。核心是client.indices()方法来获取索引库的操作对象。初始化RestHighLevelClient创建XxxIndexRequest。XXX是Create、Get、Delete准备DSL( Create时需要,其它是无参)发送请求。调用RestHighLevelClient#indices().xxx()方法,xxx是create、exists、delete学习笔记 from 黑马程序员。

2023-04-08 10:52:41 452

原创 ES索引库操作&文档操作

索引库操作有哪些?创建索引库:PUT /索引库名查询索引库:GET /索引库名删除索引库:DELETE /索引库名添加字段:PUT /索引库名/_mapping文档操作有哪些?创建文档:POST /{索引库名}/_doc/文档id { json文档 }查询文档:GET /{索引库名}/_doc/文档id删除文档:DELETE /{索引库名}/_doc/文档id修改文档:全量修改:PUT /{索引库名}/_doc/文档id { json文档 }

2023-04-08 10:43:40 1103

原创 【分布式搜索引擎】-初识elasticsearch

什么是elasticsearch?一个开源的分布式搜索引擎,可以用来实现搜索、日志统计、分析、系统监控等功能什么是elastic stack(ELK)?是以elasticsearch为核心的技术栈,包括beats、Logstash、kibana、elasticsearch什么是Lucene?是Apache的开源搜索引擎类库,提供了搜索引擎的核心API分词器的作用是什么?创建倒排索引时对文档分词用户搜索时,对输入的内容分词IK分词器有几种模式?ik_smart:智能切分,粗粒度。

2023-04-08 10:34:52 918

原创 SpringAMQP

多个消费者绑定到一个队列,同一条消息只会被一个消费者处理通过设置prefetch来控制消费者预取的消息数量交换机的作用是什么?接收publisher发送的消息将消息按照规则路由到与之绑定的队列不能缓存消息,路由失败,消息丢失FanoutExchange的会将消息路由到每个绑定的队列声明队列、交换机、绑定关系的Bean是什么?QueueBinding描述下Direct交换机与Fanout交换机的差异?Fanout交换机将消息路由给每一个与之绑定的队列。

2023-04-08 10:23:01 1021

原创 RabbitMQ初识&快速入门

基本消息队列的消息发送流程:建立connection创建channel利用channel声明队列利用channel向队列发送消息基本消息队列的消息接收流程:建立connection创建channel利用channel声明队列定义consumer的消费行为handleDelivery()利用channel将消费者与队列绑定。

2023-04-08 10:05:46 916

原创 Dockerfile自定义镜像

常见的镜像在DockerHub就能找到,但是我们自己写的项目就必须自己构建镜像了。而要自定义镜像,就必须先了解镜像的结构才行。

2023-04-08 09:41:00 712

原创 Docker的基本操作

*数据卷(volume)**是一个虚拟目录,指向宿主机文件系统中的某个目录。一旦完成数据卷挂载,对容器的一切操作都会作用在数据卷对应的宿主机目录了。这样,我们操作宿主机的/var/lib/docker/volumes/html目录,就等于操作容器内的/usr/share/nginx/html目录了。

2023-04-08 09:40:42 818

原创 Docker-Compose&镜像仓库

因为之前查看到Dockerfile中的jar包名称都是app.jar,因此我们的每个微服务都需要用这个名称。Docker官方的Docker Registry是一个基础版本的Docker镜像仓库,具备仓库管理的完整功能,但是没有图形化界面。命令中挂载了一个数据卷registry-data到容器内的/var/lib/registry 目录,这是私有镜像库存放数据的目录。② 修改自己的cloud-demo项目,将数据库、nacos地址都命名为docker-compose中的服务名。

2023-04-08 09:38:37 1589

原创 初识Docker

微服务虽然具备各种各样的优势,但服务的拆分通用给部署带来了很大的麻烦。分布式系统中,依赖的组件非常多,不同组件之间部署时往往会产生一些冲突。在数百上千台服务中重复部署,环境不一定一致,会遇到各种问题。

2023-04-07 19:24:58 483

原创 Gateway服务网关

过滤器的作用是什么?① 对路由的请求或响应做加工处理,比如添加请求头② 配置在路由下的过滤器只对当前路由的请求生效defaultFilters的作用是什么?

2023-04-07 18:54:35 570

原创 Feign远程调用

使用Feign的步骤:① 引入依赖② 添加@EnableFeignClients注解③ 编写FeignClient接口④ 使用FeignClient中定义的方法代替RestTemplate类型作用说明修改日志级别包含四种不同的级别:NONE、BASIC、HEADERS、FULL响应结果的解析器http远程调用的结果做解析,例如解析json字符串为java对象请求参数编码将请求参数编码,便于通过http请求发送支持的注解格式默认是SpringMVC的注解失败重试机制。

2023-04-07 14:00:07 1375

原创 Nacos配置管理

当微服务部署的实例越来越多,达到数十、数百时,逐个修改微服务配置就会让人抓狂,而且很容易出错。实际部署时,需要给做反向代理的nginx服务器设置一个域名,这样后续如果有服务器迁移nacos的客户端也无需更改配置.微服务要拉取nacos中管理的配置,并且与本地的application.yml配置合并,才能完成项目启动。Nacos一方面可以将配置集中管理,另一方可以在配置变更时,及时通知微服务,实现配置的热更新。我们最终的目的,是修改nacos中的配置后,微服务中无需重启即可让配置生效,也就是。

2023-04-07 13:43:07 4187

原创 【5.3】Nacos注册中心--权重配置&环境隔离

服务器设备性能有差异,部分实例所在机器性能较好,另一些较差,我们希望性能好的机器承担更多的用户请求。但默认情况下NacosRule是同集群内随机挑选,不会考虑机器的性能问题。因此,Nacos提供了权重配置来控制访问频率,权重越大则访问频率越高。临时实例:如果实例宕机超过一定时间,会从服务列表剔除,默认的类型。非临时实例:如果实例宕机,不会从服务列表剔除,也可以叫永久实例。给微服务配置namespace只能通过修改配置来实现。:如果权重修改为0,则该实例永远不会被访问。学习笔记 from 黑马程序员。

2023-04-07 13:26:28 1055

原创 MyBatisPlus快速开发

所以我们会发现,做任何模块的开发,对于这段代码,基本上都是对红色部分的调整,所以我们把去掉红色内容的东西称之为。,这些提供的方法大家可以参考官方文档进行学习使用,方法的名称可能有些变化,但是方法对应的参数和返回值基本类似。修改以后的好处是,MP已经帮我们把业务层的一些基础的增删改查都已经实现了,可以直接进行使用。至此代码生成器就已经完成工作,我们能快速根据数据库表来创建对应的类,简化我们的代码开发。对于代码生成器中的代码内容,我们可以直接从官方文档中获取代码进行修改,,后者是对前者的一个具体实现。

2023-04-07 13:09:54 456

原创 MyBatisPlus-DML编程控制

本篇文章包含id生成策略控制,多记录操作,逻辑删除,乐观锁。

2023-04-07 12:59:11 2385

原创 MyBatisPlus-DQL编程控制

掌握MyBatisPlus中的分页及条件查询构建

2023-04-07 12:11:51 1982

原创 MyBatisPlus标准数据层开发

我们更想要的是主键自增,应该是5才对,这个是我们后面要学习的主键ID生成策略,这块的这个问题,我们暂时先放放。基础的增删改查就已经学习完了,刚才我们在分析基础开发的时候,有一个分页功能还没有实现,在MP中如何实现分页功能,就是咱们接下来要学习的内容。Lombok只是简化模型类的编写,我们之前的方法也能用,比如有人会问:我如果只想要有name和password的构造函数,该如何编写?代码比较多,我们一个个来学习。Lombok的注解还有很多,上面标红的三个是比较常用的,其他的大家后期用到了,再去补充学习。

2023-04-07 11:01:40 2100

原创 MyBatisPlus入门案例与简介

这一节我们来学习下MyBatisPlus的入门案例与简介,这个和其他课程都不太一样,其他的课程都是先介绍概念,然后再写入门案例。而对于MyBatisPlus的学习,我们将顺序做了调整,主要的原因MyBatisPlus主要是对MyBatis的简化,所有我们先体会下它简化在哪,然后再学习它是什么,以及它帮我们都做哪些事。MyBatisPlus(简称MP)是基于MyBatis框架基础上开发的增强型工具,旨在简化开发、提高效率通过刚才的案例,相信大家能够体会简化开发和提高效率这两个方面的优点。

2023-04-07 10:48:03 834

原创 SpringBoot案例

我们完成这个案例基本是将之前做的拷贝过来,修改成。放置在resources目录下的static目录中。工程不需要这些配置类,所以这些可以直接删除。配置起步依赖,必要的资源坐标(druid)到这就已经学习完毕,接下来我们将学习。程序中静态资源需要放在什么位置呢?时做的三大框架整合的案例用。的即可,主要从以下几部分完成。工程,在创建工程时需要勾选。代码及测试代码连同包拷贝到。配置文件中需要配置如下内容。工程中需要在接口中添加。由于我们工程中使用到了。工程,按照下图进行拷贝。包下的接口上在拷贝到。

2023-04-06 22:50:05 948

原创 SpringBoot整合junit&mybatis

SpringBoot整合junit和mybatis

2023-04-06 22:43:03 1066

原创 SpringBoot配置文件

SpringBoot还提供了将配置文件中的数据封装到我们自定义的实体类对象中的方式。具体操作如下:将实体类bean的创建交给Spring管理。在类上添加@Component注解使用注解表示加载配置文件在该注解中也可以使用prefix属性指定只加载指定前缀的数据在中进行注入Enterprisereturn age;return tel;} }} }使用第三种方式,在实体类上有如下警告提示这个警告提示解决是在pom.xml中添加如下依赖即可

2023-04-06 22:34:24 978

原创 SpringBoot简介

SpringBoot是由Pivotal团队提供的全新框架,其设计目的是用来简化Spring应用的初始搭建以及开发过程。使用了Spring框架后已经简化了我们的开发。而SpringBoot又是对Spring开发进行简化的,可想而知SpringBoot使用的简单及广泛性。既然SpringBoot是用来简化Spring开发的,那我们就先回顾一下,以SpringMVC创建工程,并在pom.xml配置文件中配置所依赖的坐标编写web3.0的配置类作为web程序,web3.0。

2023-04-06 21:34:56 8755 2

原创 Maven高级-私服

团队开发现状分析(1)张三负责ssm_crm的开发,自己写了一个ssm_pojo模块,要想使用直接将ssm_pojo安装到本地仓库即可(2)李四负责ssm_order的开发,需要用到张三所写的ssm_pojo模块,这个时候如何将张三写的ssm_pojo模块交给李四呢?(3)如果直接拷贝,那么团队之间的jar包管理会非常混乱而且容器出错,这个时候我们就想能不能将写好的项目上传到中央仓库,谁想用就直接联网下载即可。

2023-04-06 20:37:25 1458

原创 Maven高级-属性&多环境配置与应用

目标在这一章节内容中,我们将学习两个内容,分别是属性中会继续解决分模块开发项目存在的问题,版本管理主要是认识下当前主流的版本定义方式。讲解内容之前,我们还是先来分析问题:前面我们已经在父工程中的dependencyManagement标签中对项目中所使用的jar包版本进行了统一的管理,但是如果在标签中有如下的内容:你会发现,如果我们现在想更新Spring的版本,你会发现我们依然需要更新多个jar包的版本,这样的话还是有可能出现漏改导致程序出问题,而且改起来也是比较麻烦。问题清楚后,我们需要解决的话,就可以参

2023-04-06 20:21:21 1807

原创 Maven高级-聚合和继承

两种之间的作用:* 聚合用于快速构建项目,对项目进行管理* 继承用于快速配置和管理子项目中所使用jar包的版本聚合和继承的相同点:* 聚合与继承的pom.xml文件打包方式均为pom,可以将两种关系制作到同一个pom文件中* 聚合与继承均属于设计型模块,并无实际的模块内容聚合和继承的不同点:* 聚合是在当前模块中配置关系,聚合可以感知到参与聚合的模块有哪些* 继承是在子模块中配置关系,父模块无法感知哪些子模块继承了自己

2023-04-06 16:56:13 1428

原创 JavaWeb基础-汇总

JavaWeb是整个Web开发的基础课程,需要掌握三部分内容:数据库、前端、web核心。本套JavaWeb教程旨在用最短的时间掌握最全的JavaWeb核心技术,使学习效率猛增2倍,并且可以为后期的分布式、微服务打下坚实的基础。等内容,是目前站内最全的JavaWeb技术栈课程。让你花最短时间学会,包括。

2023-04-06 16:32:16 1595

原创 前后台协议联调&拦截器

能够完成前后台功能整合开发;掌握拦截器的编写

2023-04-06 15:47:42 1179

原创 统一结果封装&异常处理

SSM整合以及功能模块开发完成后,接下来,我们在上述案例的基础上分析下有哪些问题需要我们去解决下。首先第一个问题是:在Controller层增删改返回给前端的是boolean类型数据在Controller层查询单个返回给前端的是对象在Controller层查询所有返回给前端的是集合对象目前我们就已经有三种数据类型返回给前端,如果随着业务的增长,我们需要返回的数据类型会越来越多。

2023-04-05 00:04:06 1870

原创 SSM整合

三个框架进行了学习,今天主要的内容就是把这三个框架整合在一起完成我们的业务功能开发,具体如何来整合,我们一步步来学习。对于图书模块的增删改查就已经完成了编写,我们可以从后往前写也可以从前往后写,最终只需要能把功能实现即可。掌握上述的知识点后,接下来,我们就可以按照上述的步骤一步步的来完成SSM的整合。至此SSM整合的环境就已经搭建好了。在这个环境上,我们如何进行功能模块的开发呢?bookDao在Service中注入的会提示一个红线提示,为什么呢?可以不用理会,因为运行是正常的。我们先来对查询进行单元测试。

2023-04-04 16:08:52 1016

原创 Rest风格

目标对于Rest风格,我们需要学习的内容包括:REST(Representational State Transfer),表现形式状态转换,它是一种软件架构风格当我们想表示一个网络资源的时候,可以使用两种方式:传统方式一般是一个请求url对应一种操作,这样做不仅麻烦,也不安全,因为会程序的人读取了你的请求url地址,就大概知道该url实现的是一个什么样的操作。查看REST风格的描述,你会发现请求地址变的简单了,并且光看请求URL并不是很能猜出来该URL的具体功能所以REST的优点有:但是我们的问题也随之而来

2023-04-03 23:40:25 1051

原创 SpringMVC请求与响应

前面我们已经完成了入门案例相关的知识学习,接来了我们就需要针对SpringMVC相关的知识点进行系统的学习,之前我们提到过,SpringMVC是web层的框架,主要的作用是接收请求、接收数据、响应结果,所以这一章节是学习SpringMVC的。SpringMVC接收到请求和数据后,进行一些了的处理,当然这个处理可以是转发给Service,Service层再调用Dao层完成的,不管怎样,处理完以后,都需要将结果告知给用户。前后台以异步方式进行交换,传输的数据使用的是。

2023-04-02 19:50:46 1419

原创 PostMan工具的使用

代码编写完后,我们要想测试,只需要打开浏览器直接输入地址发送请求即可。发送的是GET请求可以直接使用浏览器,但是如果要发送的是POST请求呢?如果要求发送的是post请求,我们就得准备页面在页面上准备form表单,测试起来比较麻烦。所以我们就需要借助一些第三方工具,如PostMan.PostMan是一款功能强大的网页调试与发送网页HTTP请求的Chrome插件。作用:常用于进行接口测试特征简单实用美观大方。

2023-03-31 19:56:56 162

原创 SpringMVC概述&入门案例

学习SpringMVC我们先来回顾下现在web程序是如何做的,咱们现在web程序大都基于三层架构来实现。三层架构浏览器发送一个请求给后端服务器,后端服务器现在是使用Servlet来接收请求和数据如果所有的处理都交给Servlet来处理的话,所有的东西都耦合在一起,对后期的维护和扩展极为不利将后端服务器Servlet拆分成三层,分别是webservice和daoweb层主要由servlet来处理,负责页面请求和数据的收集以及响应结果给前端service层主要负责业务逻辑的处理。

2023-03-31 19:39:22 466

原创 AOP总结&事务管理

事务作用:在数据层保障一系列的数据库操作同成功同失败Spring事务作用:在数据层或业务层保障一系列的数据库操作同成功同失败数据层有事务我们可以理解,为什么业务层也需要处理事务呢?举个简单的例子,转账业务会有两次数据层的调用,一次是加钱一次是减钱把事务放在数据层,加钱和减钱就有两个事务没办法保证加钱和减钱同时成功或者同时失败这个时候就需要将事务放在业务层进行处理。Spring为了管理事务,提供了一个平台事务管理器commit是用来提交事务,rollback是用来回滚事务。

2023-03-31 15:45:37 971

原创 AOP配置管理

AOP通知描述了抽取的共性功能,根据共性功能抽取的位置不同,最终运行代码时要将其加入到合理的位置通知具体要添加到切入点的哪里?前置通知后置通知环绕通知(重点)返回后通知(了解)抛出异常后通知(了解)为了更好的理解这几种通知类型,我们来看一张图(1)前置通知,追加功能到方法执行前,类似于在代码1或者代码2添加内容(2)后置通知,追加功能到方法执行后,不管方法执行的过程中有没有抛出异常都会执行,类似于在代码5添加内容。

2023-03-31 14:35:22 2025

空空如也

空空如也

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

TA关注的人

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