自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

小肥羊的博客

小肥羊的变黑之路

  • 博客(47)
  • 资源 (1)
  • 收藏
  • 关注

原创 stream 去重和获取重复值

项目中有个需求是获取excel中的成员信息,需要剔除重复身份证号以及返回重复身份证号给前端~~//判断excel导入的成员信息身份证号是否重复 //得到excel表所有成员信息list List<Map<String,Object>> list = ExcelUtils.parseExcelToObject(sheetTable,strArr); //得到所有身份证号集合 List<String> stringList = list.st

2021-04-20 09:33:19 1957

原创 笔记 ── docker 安装 Redis

拉取最新版本的redisdocker pull redis:latest运行容器docker run -p 6379:6379 --restart always --privileged=true --name redis -v /root/redis/conf/redis.conf:/etc/redis/redis.conf -v /root/redis/conf/data:/data -d redis:latest redis-server /etc/redis/redis.conf --ap

2021-02-18 18:48:40 276

原创 笔记 ── Springboot 整合 RabbitMQ Fanout扇形模型

fanout 扇形 也称为广播在广播模式下,消息发送流程是这样的:可以有多个消费者每个消费者有自己的queue(队列)每个队列都要绑定到Exchange(交换机)生产者发送的消息,只能发送到交换机,交换机来决定要发给哪个队列,生产者无法决定。交换机把消息发送给绑定过的所有队列队列的消费者都能拿到消息。实现一条消息被多个消费者消费<dependency> <groupId>org.springframework.boot</groupId>

2021-02-15 05:25:29 293

原创 笔记 ── Springboot 整合 RabbitMQ 消息确认机制和能者多劳实现

在使用RabbitMQ的时候,我们可以通过消息持久化操作来解决因为服务器的异常奔溃导致的消息丢失,除此之外我们还会遇到一个问题,当消息的发布者在将消息发送出去之后,消息到底有没有正确到达broker代理服务器呢?如果不进行特殊配置的话,默认情况下发布操作是不会返回任何信息给生产者的,也就是默认情况下我们的生产者是不知道消息有没有正确到达broker的,如果在消息到达broker之前已经丢失的话,持久化操作也解决不了这个问题,因为消息根本就没到达代理服务器,你怎么进行持久化,那么这个问题该怎么解决呢?Rab

2021-02-15 04:28:54 865 2

原创 笔记 ── Springboot 整合 RabbitMQ (work quene)模型

Work queues,也被称为(Task queues),任务模型。当消息处理比较耗时的时候,可能生产消息的速度会远远大于消息的消费速度。长此以往,消息就会堆积越来越多,无法及时处理。此时就可以使用work 模型:让多个消费者绑定到一个队列,共同消费队列中的消息。队列中的消息一旦消费,就会消失,因此任务是不会被重复执行的。(缺点:消费消息是一种轮循,也可以说是一种平均分配消息,做不到能者多劳,也就是已消费完的帮助未消费完的)<dependency> <groupId&gt

2021-02-15 00:47:51 216

原创 笔记 ── Springboot 整合 RabbitMQ (HelloWorld)模型

直连模型(不经过交换机,消息直接进入通道)P:生产者,也就是要发送消息的程序C:消费者:消息的接受者,会一直等待消息到来。queue:消息队列,图中红色部分。类似一个邮箱,可以缓存消息;生产者向其中投递消息,消费者从其中取出消息。maven依赖<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-a

2021-02-14 23:14:29 229 1

原创 docker安装RabbitMQ

安装命令:management(包含管理页面)docker pull rabbitmq:management运行镜像:docker run -d --hostname my-rabbit --name rabbit -e RABBITMQ_DEFAULT_USER=admin-e RABBITMQ_DEFAULT_PASS=123456 -p 15673:15672 -p 5673:5672 rabbitmq:management管理页面端口号 15672 映射为 15673应用端口号 56

2021-02-14 21:20:48 68

原创 Springboot使用@Autowired注解静态对象

在编写一个工具类的时候,需要用到静态对象service,按照平常一样,使用@Autowired注入,调用方法,却发现控制台报了空指针异常。public class SftpUtil { @Autowired private static ExternalService externalService;报错的原因,与使用静态变量经常出错的原因一样,类加载静态变量,@Autowired注入的service还没加载。解决方法:1、@Autowired注解setter方法public

2021-02-12 14:15:04 526

原创 Springboot集成Websocket不能使用@Autowired注入service

在springboot使用websocket过程中,需要使用到@Autowired注入service按照平时的方法注入:@ServerEndpoint(value = "/websocket/{name}")@Componentpublic class WebSocketService { @Autowired ChatRecodeService chatRecodeService控制台报了空指针的异常后来想了一下,会不会跟**@Autowired注解静态对象**实现的方法一样,尝

2021-02-12 13:56:10 453 1

原创 Springboot集成Swagger2生成API文档

Swagger简介:Swagger 是一个规范且完整的框架,用于生成、描述、调用和可视化 RESTful 风格的 Web 服务。Swagger 的目标是对 REST API 定义一个标准且和语言无关的接口,可以让人和计算机拥有无须访问源码、文档或网络流量监测就可以发现和理解服务的能力。当通过 Swagger 进行正确定义,用户可以理解远程服务并使用最少实现逻辑与远程服务进行交互。与为底层编程所实现的接口类似,Swagger 消除了调用服务时可能会有的猜测。Swagger 的优势:支持 API 自动生

2020-11-18 18:24:35 992

原创 Maven打包跳过测试方法

方法 1:(本人一般使用)命令行方式跳过测试在springboot 命令行输入一下命令mvn clean install -Dmaven.test.skip=true或者mvn clean install -DskipTests出现BUILD SECCESS表示打包成功,第一张图表示的是生成jar包的地址。方法 2:idea 使用maven插件跳过测试点击蓝色圆圈闪电图标方法 3:pom.xml中配置跳过测试springboot:<build> &lt

2020-11-18 10:45:42 1254

原创 笔记 ── HttpClient的使用

HttpClient:HTTP 协议可能是现在 Internet 上使用得最多、最重要的协议了,越来越多的 Java 应用程序需要直接通过 HTTP 协议来访问网络资源。虽然在 JDK 的 java net包中已经提供了访问 HTTP 协议的基本功能,但是对于大部分应用程序来说,JDK 库本身提供的功能还不够丰富和灵活。HttpClient 是 Apache Jakarta Common 下的子项目,用来提供高效的、最新的、功能丰富的支持 HTTP 协议的客户端编程工具包,并且它支持 HTTP 协议最新的

2020-11-02 18:03:59 844

原创 StringUtils.isBlank和StringUtils.isEmpty的区别和使用

StringUtils.isBlank和StringUtils.isEmpty都是判断空的方法。依赖: <dependency> <groupId>org.apache.commons</groupId> <artifactId>commons-lang3</artifactId> <version>3.4</version> &

2020-11-02 17:48:46 12601

原创 Kettle实战 ── 根据时间戳进行增量同步

有时候需要进行大数据量的抽取,kettle的插入/更新组件就不适用了,这时候可以考虑根据时间戳进行增量更新。下面是根据时间戳进行增量同步的一个测试例子:环境:2个不同机器上数据库,一个源数据库数据不定时更新,一个目标数据库2分钟定时进行数据抽取。(或者一个机器上2个不同的数据库,一个进行数据更新,一个定时进行数据的抽取)源数据表和目标数据表结构一样:源数据库表:目标数据库表(从源数据库表),目标数据库表开始要有一个时间。步骤:拉取3个组件,2个表输入,一个表输出表输出

2020-10-30 18:19:29 3072

原创 Kettle实战 ── SFTP下载

Kettle 从不同服务器中下载excel文件新建作业,拉去SFTP下载组件: 2、配置信息远程目录是下载数据的源目录通配符用于筛选需要下载的文件.*\.xls$这个通配符就是后缀名为xls的文件全部下载运行作业成功后可以在目标目录看到下载的文件。...

2020-10-24 10:29:57 3605

原创 Kettle实战 ── Excel表转Mysql

Kettle数据转换:excel表转成Mysql数据表选择表格有两种方式:第一种是直接选择目标excel选择需要转换的excel表格,再点击增加第二种是通过正则表达式去动态选择目标表两种方法需要注意表格类型(引擎)的选择:2007 对应的是xlsx2003 对应的是xls再选择工作表,获取Sheet,点击获取工作名称选择字段,可以直接点击获取来自头部数据的字段,也就是excel表中对应的字段创建Mysql数据表,选择目标表点击获取字段

2020-10-24 02:57:14 1219

原创 Kettle实战 ── 变量的使用

Kettle变量分为全局变量和局部变量。Kettle主要的全局变量:可以通过转换预览点击Get Variables上面显示的就是系统自带的全局变量还有自定义的全局变量。自定义的全局变量设置:

2020-10-24 01:18:03 4971

原创 MySQL 查询有关时间数据

字段值是2020-10-20 00:00:39这种格式,所以需要转换格式。select * from 表名 where Time(时间字段) BETWEEN DATE_FORMAT(NOW(),’%Y-%m-%d 00:00:00’) AND DATE_FORMAT(NOW(),’%Y-%m-%d 23:59:59’)

2020-10-20 18:54:09 1027

原创 Kettle实战 ── 不同mysql数据库之间的数据抽取

在不同机器,不同数据库之间抽取数据转换实现步骤:拉取表输入和表输出,两者联系起来(快捷键Shift+鼠标)表输入的是抽取数据的源表表输出的是取得数据目标表连接数据库输入完相关信息,可以点击测试数据库是否连接成功。点击获取SQL查询语句选择需要抽取的源表点击预览是执行SQL框框里面的语句,可以看到具体传输的信息由于是不同机器不同服务器之间的数据抽取,所以要配置另一个地址不同的数据库把裁剪表勾上,执行多次转换的时候,数据不会重复叠加进

2020-10-14 18:23:17 1825

原创 Kettle实战 ── 简介和安装

简介:Kettle是一款国外开源的ETL工具,纯java编写,可以在Windows、Linux、Unix上运行,数据抽取高效稳定。Kettle 中文名称叫水壶,该项目的主程序员MATT 希望把各种数据放到一个壶里,然后以一种指定的格式流出。Kettle这个ETL工具集,它允许你管理来自不同数据库的数据,通过提供一个图形化的用户环境来描述你想做什么,而不是你想怎么做。Kettle中有两种脚本文件,(转换)transformation和(作业)job,transformation完成针对数据的基础转换,

2020-10-14 16:20:04 1070

原创 Mysql 报错[Err] 1055 解决

用sql命令创建数据库表时,报了一个1055的错误。[Err] 1055 - Expression #1 of ORDER BY clause is not in GROUP BY clause and contains nonaggregated column ‘information_schema.PROFILING.SEQ’ which is not functionally dependent on columns in GROUP BY clause; this is incompatible

2020-10-12 15:20:21 1484

原创 Java处理JSON数据 ── Gson的使用

Gson简介Google Gson是一个简单的基于Java的库,用于将Java对象序列化为JSON,也可以把JSON转换为Java对象。它是Google开发的开源库。Gson的特点:易于使用:Gson API提供了一个高级外观,以简化常用用例。 无需创建映射:Gson API为要序列化的大多数对象提供了默认映射。性能:Gson相当快并且内存占用少。它适用于大型对象或系统。干净的JSON:Gson创建了干净且紧凑的JSON结果,易于阅读。无依赖关系:除JDK之外,Gson库不需要任何其他库。开

2020-09-30 11:47:36 1414

原创 Kettle连接数据库驱动报错解决

使用Kettle,测试连接MySQL数据库的时候,出现了以下报错:最主要的是这句报错提示:Driver class ‘org.gjt.mm.mysql.Driver’ could not be found, make sure the ‘MySQL’ driver (jar file) is installed.org.gjt.mm.mysql.Driver意思是找不到数据库驱动。下面是官网的驱动下载地址:MySQL数据库驱动下载因为我的MySQL是8.0.16版本的,所以我就下载了my

2020-09-29 14:18:51 2899

原创 使用yum命令安装时,循环出现/var/run/yum.pid 已被锁定错误

使用yum命令安装依赖时,出现了下图错误:解决:rm -f /var/run/yum.pid输入这个命令先删除,再重新yum安装。

2020-09-29 10:59:25 1280

原创 docker-compose 常用命令

docker-compose.yml文件配置由yml格式来编写。Compose 使用的三个步骤:使用 Dockerfile 定义应用程序的环境。使用 docker-compose.yml 定义构成应用程序的服务,这样它们可以在隔离环境中一起运行。最后,执行 docker-compose up 命令来启动并运行整个应用程序。version: '2.2'services: es-node1: image: elasticsearch:6.7.2 container_name:

2020-09-28 11:15:35 1288

原创 docker常用服务命令

systemctl 方式:重启docker服务:systemctl restart docker启动docker服务:systemctl start docker关闭docker:systemctl stop docker开机自启动:systemctl enable docker查看docker服务状态:systemctl status docker.serviceservice 方式:重启docker服务:service docker restart关闭docker:ser

2020-09-27 16:07:37 2672

原创 JPA忽略实体类中的某个属性,不持久化此属性

使用JPA时,持久化实体类中的某个属性没有在数据库字段中,会出现一下错误:com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Unknown column 'transtask0_.parameter' in 'field list'去掉@Column注解,发现任然会报这个错误。说明只要在JPA映射实体类中,无论加不加@Column,都会被持久化。解决:如果想让实体类多增加一些属性进行数据展示,就需要加上 @Transient 注

2020-09-27 15:16:32 4922

原创 URI、URL和URN三者关系

统一资源标志符(Uniform Resource Identifier)URI统一资源定位符(uniform resource location)URL

2020-09-25 11:29:14 1128

原创 Idea 连接GitHub出现Invalid authentication data. Connection reset解决

准备push项目上github的时候,发现github连接不上。出现了下图错误:试过取消代理和把Server改成https:github.com的方法,也没有解决。最后通过了下面的方法完美解决:首先在电脑页面右键打开Git Bash Here在命令行输入:git config --global user.name 用户名git config --global user.email 邮箱名再回去idea连接github,连接成功。...

2020-09-23 16:47:17 2376

原创 Java处理JSON数据 ── Fastjson的使用

Fastjson简介:Fastjson是一个Java库,可用于将Java对象转换为其JSON表示形式。它还可以用于将JSON字符串转换为等效的Java对象。Fastjson可以与任意Java对象一起使用,包括您没有源代码的现有对象。Fastjson目标在服务器端和android客户端中提供最佳性能。提供简单的toJSONString()和parseObject()方法,将Java对象转换为JSON,反之亦然。允许将现有的不可修改的对象与JSON相互转换。Java泛型的广泛支持。允许对象的自定

2020-09-23 15:30:42 1669

原创 电脑开机提示Exiting PXE ROM解决办法

出现这个页面是因为带有PXE的引导芯片的网卡启用了BOOT ROM芯片引导功能导致的。解决:启动电脑,进入bios(不同牌子的电脑进入bios的快捷键不同,自行百度),选择advance,然后再选择integrated peripherals再选择onboard lan option rom 选项,选择disable。按F10保存重启...

2020-09-23 14:20:11 43432

原创 Win10开机出现Windows Boot Manager 页面解决

出现这个页面一般是引导文件损坏了。可以通过开机,然后强制关机连续三次进入高级选项页面,然后再进入命令提示符。输入bcdedit /enum,引导记录已经损坏就会出现以下页面:chkdsk /r 找到坏扇区并恢复可读取的信息:磁盘检查完成后,可以尝试重启计算机查看问题是否得到解决。SFC /SCANNOW:扫描所有保护的系统文件的完整性,并尽可能修复有问题的文件。下面是SFC命令的一下方法:依次执行如下命令修复 Win10 的主引导记录并重建 BCD 配置文件:BOOTRE

2020-09-21 14:13:46 32195

原创 EasyPoi模板数据结合POI导出图表

EasyPoi可以使用自定义模板快速的导出设定的报表样式excel,避免写大量的POI,快速便捷。可以从下面链接了解:EasyPoiMaven依赖:<dependency> <groupId>cn.afterturn</groupId> <artifactId>easypoi-base</artifactId> <version>4.1.0</versi

2020-09-14 17:42:47 2748

原创 idea 翻译插件 Translation

···

2020-09-02 01:39:00 1661

原创 Elasticsearch-head 数据浏览无显示解决办法

把es 6相关插件安装好后,弄了个索引测试一下,发现es-head竟然没有显示数据:东找找西找找,才发现原来是:elasticsearch 6增加了请求头严格校验的原因,并且返回结果是{“error” : “Content-Type header [application/x-www-form-urlencoded] is not supported”,“status” : 406}如果是es 7 版本的,如果出现无数据也是这个原因~~~解决办法:进到 es-head 容器里面修改配置文

2020-08-31 11:21:04 4459

原创 bash: vim: command not found 解决方法

有时候在虚拟机里面修改某些文件,会出现下面这种情况:这是因为vim / vi文本编译器没有安装,不存在解决办法:通过一下命令完成安装:apt-get updateapt-get install vim

2020-08-31 10:52:32 9074

原创 笔记 ── elasticsearch查询语法

努力学习,老大给的文档!一.组合查询布尔查询是最常用的组合查询,不仅将多个查询条件组合在一起,并且将查询的结果和结果的评分组合在一起。当查询条件是多个表达式的组合时,布尔查询非常有用,实际上,布尔查询把多个子查询组合(combine)成一个布尔表达式,所有子查询之间的逻辑关系是与(and);只有当一个文档满足布尔查询中的所有子查询条件时,ElasticSearch引擎才认为该文档满足查询条件。布尔查询支持的子查询类型共有四种,分别是:must ,should,must_not和filter:mus

2020-08-29 00:42:08 1128

原创 CentOS 经常使用的防火墙命令

安装防火墙:yum install firewalld systemd -y查看防火墙状态:systemctl status firewalld 或 firewall-cmd --state关闭防火墙:systemctl stop firewalld 或开启防火墙:systemctl start firewalld重启防火墙:systemctl reload firewalld 或 firewall-cmd --reload查看防火墙开机是否启动:systemctl is-enable

2020-08-28 16:10:43 973

原创 笔记 ── Java实现MD5加密

MD5MD5信息摘要算法(英语:MD5 Message-Digest Algorithm),一种被广泛使用的密码散列函数,可以产生出一个128位(16字节)的散列值(hash value),用于确保信息传输完整一致。MD5 是非对称的加密算法(对称加密:加密用的密码和解密用的密码是一样的;非对称加密:加密和解密用的密钥不一样)。特点:压缩性:任意长度的数据,算出的MD5值长度都是固定的。容易计算:从原数据计算出MD5值很容易。抗修改性:对原数据进行任何改动,哪怕只修改1个字节,所得到的MD5值

2020-08-27 16:56:04 1112

原创 笔记 ── springboot+jwt+shiro 认证授权

import org.apache.shiro.authc.AuthenticationToken;/** * 封装了需要传递的信息 * 类似UsernamePasswordToken */public class JwtToken implements AuthenticationToken { private String jwtoken; public JwtToken(String jwtoken) { this.jwtoken = jwtoken;

2020-08-27 11:18:57 2099

springboot_es_demo.rar

Springboot集成ES,通过、操作ES,创建索引、增加记录、获取记录、更新记录、删除记录、搜索、批量增加记录、批量更新记录、批量删除记录

2020-07-08

空空如也

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

TA关注的人

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