自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 MyBatis系列之自定义TypeHandler实现字段加密解密

今天简单介绍利用MyBatis的TypeHandler接口实现字段的加解密。字段的加密和解密,实现方式确实有好几种。比如,在业务层实现、在数据库层面实现等等,但是这些相对来说,耦合性稍微强那么一点点,而且涉及到改动的话,改动的地方比较多;所以最好的就是统一管理这些功能。MyBatis给我们提供了很多扩展类,MP和MB是一样的。所以关于数据结果类型的处理,可以使用TypeHandler接口。

2024-12-08 21:32:31 942

原创 ElasticSearch7.x入门教程之全文搜索聚合分析(十)

这篇文档就简单记录哈ES中的聚合分析,包括指标聚合桶聚合管道聚合。其实就是数据库中的各类分析函数,比如max()min()avg()group by、having等等。主要应用在一些统计分析业务中。文章只是简单记录了怎么使用ES的简单统计查询,主要是因为太多或者久了不使用就会忘记一些使用方式,故在此记录。更多详情还是查询官网。

2024-12-03 22:48:53 1099

原创 ElasticSearch7.x入门教程之全文搜索(九)

最近除了再用es的基础全文查询外,也频繁用到了ES的地理位置查询与特殊查询,故而再次记录一下。上面简单介绍了ES中比较少用的查询方法,更多可以查看官网。

2024-12-03 22:10:27 985

原创 ElasticSearch7.x入门教程之全文搜索(八)

es的搜索排序默认评分策略只是考虑相关性,如果我们不仅仅需要考虑相关性,还是根据特定的字段来排序,例如餐厅的评分等字段,这是就要用到一下搜索类型。1、普通子对象实现一对多,会损失子文档的边界,子对象之间的属性关系丢失。2、nested 可以解决第 1 点的问题,但是 nested 有两个缺点:更新主文档的时候要全部更新,不支持子文档属于多个主文档。3、父子文档解决 1、2 点的问题,但是它主要适用于写多读少的场景。

2024-12-02 23:11:53 710

原创 ElasticSearch7.x入门教程之全文搜索(七)

这里再接着上一篇文章继续记录。江南一点雨松哥的文章。欢迎大家去查看,地址:http://www.javaboy.org这篇文章记录还算是比较有用的东西。

2024-11-29 17:22:29 966

原创 ElasticSearch7.x入门教程之全文搜索(六)

上一篇文章记录了,在工作当中常用的基本查询方式,也可以满足一定的查询需求了。但是有一些特殊场景,可能还不满足,所以在此记录一下。仅仅简单记录,可能用到的很少场景下的查询需求。

2024-11-29 16:28:51 906

原创 ElasticSearch7.x入门教程之全文搜索(五)

搜索是 ElasticSearch 最为丰富有趣的功能,也是平常在工作当中用得最多的地方。我相信,基本上也只是用到ES的搜索,比如全文查询、词项查询、复合查询、嵌套查询、位置查询、特殊查询等等。案例用的数据,是自己通过SpringData导入的,后面再来记录结合Java使用。索引(建筑地址索引)的mapping},"address" : { # 搜索的全名地址},"city_code" : { # 市},},},"floor" : { # 楼层},"id" : {},

2024-11-28 22:24:58 503

原创 ElasticSearch7.x入门教程之索引数据类型和映射(四)

本来想直接记录工作当中索引查询相关的操作,但是似乎如果不先记录索引数据类型的话,还真不好操作。好多查询都是根据数据类型来的,所以先简单介绍哈ES索引中相关的数据类型。上面我们只是简单的介绍了索引的类型和映射问题,更多可以查看官网。只有熟悉这些,在工作当中才能更好的游刃有余,知道怎么去定义等等问题。

2024-11-24 23:00:20 781

原创 ElasticSearch7.x入门教程之索引概念和基础操作(三)

要想熟悉使用ES的索引,则必须理解索引相关的概念,尤其是在工作当中。在此记录,方便开展工作。这篇文章,简单记录了,在Kibana中,索引的基本使用,这些在工作中,确实用得上,更多信息还是查看官网文档。

2024-11-21 22:30:52 821

原创 ElasticSearch7.x入门教程之中文分词器 IK(二)

ElasticSearch 核心功能就是数据检索,首先通过索引将文档写入 es。1、词条化:分词器将输入的文本转为一个一个的词条流。2、过滤:比如停用词过滤器会从词条中去除不相干的词条(的,嗯,啊,呢);另外还有同义词过滤器、小写过滤器等。我们可使用内置分词器、第三方、或自定义分分词器。在 es/plugins/ik/config 目录下,新建 ext.dic 文件(文件名任意),在该文件中可以配置自定义的词库。添加自定义的词:最后重启ES即可。

2024-11-21 16:26:17 1235

原创 ElasticSearch7.x入门教程之集群安装(一)

在工作中遇到了,便在此记录一下,以防后面会再次遇到。第一次使用是在2020年末,过了很久了,忘了些许部分了。在工作当中,如果是小的项目需求其实可以用单机版本的ES即可(不管是Linux上面还是Windows还是WinServer上面),都可以满足需求;数据量稍微大一点点的话,也可以上ES集群;这两种情况我都遇到过,单机版本的安装,比较简单,稍微AI一下就知道;在此主要记录一下,常规操作。基于es7.x版本的三台服务器安装,这里环境是虚拟机环境。

2024-11-20 23:20:00 993

原创 frp内网穿透介绍安装教程

内网穿透(Port Forwarding)是将公网上的IP地址映射到内部网络中的一台计算机的某个端口上,以便外部网络可以访问该计算机中运行的应用程序。内网穿透技术可以通过一些开源工具来实现,其中比较常用的是frp,我这边用的也是frp,目前没有什么问题;官网地址更详细的内容,可以翻阅官网文档。以上就是今天要讲的内容,本文仅仅简单介绍了frp的使用,而frp还提供了大量功能,更多参考官网教程。

2024-11-16 22:54:40 1619 3

原创 rsync 介绍和使用

文件同步是计算机工作中常见的任务,无论是在本地系统之间同步文件,还是在本地与远程系统之间进行文件传输,都需要一款可靠而高效的工具。Rsync(Remote Sync)就是这样一款备受欢迎的文件同步工具。本文将为您介绍 rsync 的使用攻略,包括关键参数的解释,同时与其他文件同步工具如 scp 进行比较。rsync 是一个用于文件和目录同步的开源工具,最初由 Andrew Tridgell 开发。它的主要优势在于能够高效地传输和同步文件,因为它只传输已更改的部分,而不是整个文件。

2024-09-18 20:57:34 1072

原创 Docker工作目录迁移

安装docker,默认的情况容器的默认存储路径会存储系统盘的 /var/lib/docker 目录下,系统盘一般默认 50G,容器输出的所有的日志,文件,镜像,都会存在这个地方,时间久了就会占满系统盘。以上就是今天要讲的内容,

2024-09-18 20:40:08 2031 1

原创 FTP、SFTP安装,整合Springboot教程

在一般项目开发工程中,我们大多数会使用文件服务,比如上传图片、各种文档之类的。供我们选择的方式很多,比如第一种直接通过Java的File对象存储在本地,然后部署时候修改linux环境下的路径,这种方式简单粗暴;第二种就是在连网的情况下,直接使用OSS对象存储,比如阿里云OSS对象存储,当然这种是要花钱的,如果不花钱的话,也可以自己本地搭建一个OSS本地对象存储;

2024-09-11 22:03:18 1332 1

原创 记一次Linux安装Maven、Git并拉取SpringBoot代码打包

Linux安装Git、Maven工具,一键脚本打包springboot项目成jar,idea远程运行。

2024-09-04 22:09:28 1124 1

原创 Spring Security静态资源过滤(11)

重写configure(WebSecurity)方法,并配置需要忽略的请求,这些需要忽略的地址,最终都会被添加到ignoredRequests集合中,并最终以过滤器链的形式呈现出来。换句话说,上面的配置中一共包含了五个过滤器链:configure( W eb Security)方法中配置的四个以及HttpSecurity 中配置的一个(即/**)。如果大家不能理解为什么会有五个过滤器链,可以回顾关于WebSecurity的分析以及关于FilterChainProxy的分析,这里不再赘述。

2023-10-18 14:49:16 292 1

原创 Spring Security定义多个过滤器链(10)

同时我们配置了局部 AuthenticationManager 对应的用户是 chain1in/123 ,由于没有重写 configure(AuthenticationManagerBuilder)方法,所以注册到 Spring 容器中的 UserDetailsService 将作为局部 AuthenticationManager的parent对应的用户,换句话说,如果登录的路径是/bar/login,那么升发者可以使用 chain1in/123和 剑气近/123两个用户进行登录。

2023-10-18 14:47:30 268

原创 ObjectPostProcessor使用与多种用户定义方式(9)

(1) 第一种方式是使用的重写configure(AuthenticationManagerBuilder)方法的方式。(2) 第二种方式是定义多个数据源时,我们直接向Spring容器中注入了 UserDetailsService 对象。那么这两种用户定义方式有什么区别?

2023-10-18 14:44:45 169

原创 Spring Security过滤器链分析-初始化流程(8)

过滤器链分析提起Spring Security的实现原理,很多读者都会想到过滤器链。因为Spring Security中的所有功能都是通过过滤器来实现的,这些过滤器组成一个完整的过滤器链。那么,这些过滤器 链是如何初始化的?我们前面反复提到的AuthenticationManager又是如何初始化的?通过前面章节的学习,相信读者己经有了一些认识,本章我们将从头开始,分析Spring Security的初始化流程,同时再通过六个案例来让读者深入理解并且学会如何制作过滤器链。由于初始化流程相对复杂,因此我们没

2023-10-18 14:39:24 458

原创 Spring Security配置多个数据源并添加登录验证码(7)

多个数据源是指在同一个系统中,用户数据来自不同的表,在认证时,如果第一张表没有查找到用户,那就去第二张表中査询,依次类推。

2023-10-18 14:04:02 265 1

原创 Spring Security认证流程分析(6)

作为 Spring Security 过滤器链中的一环,AbstractAuthenticationProcessingFilter可以用来处理任何提交给它的身份认证,图3-3描述了 AbstractAuthenticationProcessingFilter的工作流程:图 3-3图中显示的流程是一个通用的架构。

2023-10-18 13:58:18 149

原创 Spring Security登录账户自定义与数据持久化(5)

在前面的案例中,我们的登录用户是基于配置文件来配置的(本质是基于内存),但是在实际开发中,这种方式肯定是不可取的,在实际项目中,用户信息肯定要存入数据库之中。Spring Security支持多种用户定义方式,接下来我们就逐个来看一下这些定义方式。通过前面的介绍(参见3小节),大家对于以及它的子类都有了一定的了解, 自定义用户其实就是使用的不同实现类来提供用户数据,同时将配置好的 UserDetailsService 配置给。

2023-10-18 13:46:43 249

原创 Spring Security登录用户数据获取(4)

登录成功之后,在后续的业务逻辑中,开发者可能还需要获取登录成功的用户对象,如果不使用任何安全管理框架,那么可以将用户信息保存在HttpSession中,以后需要的时候直接从HttpSession中获取数据。无论是哪种获取方式,都离不开一个重要的对象:Authentication。可以看到,在Spring Security中,只要获取到Authentication对象,就可以获取到登录用户的详细信息;

2023-10-18 11:33:25 2367 1

原创 Spring Security登录表单配置(3)

1、登录表单配置1.1、快速入门理解了入门案例之后,接下来我们再来看一下登录表单的详细配置,首先创建一个新的Spring Boot项目,引入Web和Spring Security依赖,代码如下:<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-security</artifactId></de

2023-10-18 11:06:01 205

原创 Spring Security基本认证(2)

对于安全管理框架而言,认证功能可以说是一切的起点,所以我们要研究Spring Security, 就要从最基本的认证开始。在Spring Security中,对认证功能做了大量的封装,以至于开发者只需要稍微配置一下就能使用认证功能,然而要深刻理解其源码却并非易事。本文从最基本的用法开始讲解,最终再扩展到对源码的理解。

2023-10-18 10:32:45 174

原创 Spring Security的认证和授权(1)

Shiro本身是一个老牌的安全管理框架,有着众多的优点,例如轻量、简单、易于集成、 可以在JavaSE环境中使用等。不过,在微服务时代,Shiro就显得力不从心了,在微服务面前, 它无法充分展示自己的优势。

2023-10-17 22:54:33 152

原创 synchronized和volatile的区别详解

而线程安全就会涉及到共享变量的概念,所以首先,我们得弄清楚共享变量是什么,且处理器和内存间的数据交互机制是如何导致共享变量变得不安全。1)保证了不同线程对这个变量进行操作时的可见性,即一个线程修改了某个变量的值,这新值对其他线程来说是。volatile本质是在告诉jvm当前变量在寄存器(工作内存)中的值是不确定的,需要从主存中读取;个人认为,既然是多线程编程,那我们在平常的学习中,工作中,大部分都接触到的就是线程安全的概念。2.volatile仅能实现变量的修改可见性,并不能保证原子性;

2023-08-22 17:32:08 186

转载 Java多线程介绍进阶

Java多线程介绍进阶。

2022-11-23 23:37:54 313

原创 简单介绍Mybatis 使用的 9 种设计模式

简单介绍Mybatis 使用的 9 种设计模式

2022-09-08 20:51:36 395

原创 使用Spring AOP实现异步文件上传

使用Spring AOP实现异步文件上传

2022-09-08 20:16:23 340

原创 简单介绍、理解 volatile 关键字及应用场景

简单介绍volatile关键字

2022-09-08 20:05:49 614

原创 SpringBoot + minio 实现高性能存储服务,YYDS!

SpringBoot简单整合minio实现文件服务器存储。

2022-09-08 19:47:16 251

原创 简单讲解SQL执行顺序

SQL语句执行流程简单介绍。

2022-09-08 19:31:42 110

原创 SpringBoot实现切面AOP简单记录日志

简述:该方式用于简单记录操作日志等,其实有很多第三方的日志框架,每一个公司也有自己的日志跟踪记录等,需要的童鞋可以自己搜寻。以下代码在灵活用于项目中,可自行决定。下面可单独建立一个springboot单体应用,供其它module调用,作为依赖的方式;也可直接嵌入到其它moudle中,但这样有点繁琐,建议作为单独功能提取出来,类似于公共工具。1、日志实体@Entity@Getter@Setter@Table(name = "sys_log")@NoArgsConstructorpublic c

2022-05-07 22:15:03 2070

原创 SpringBoot利用redis实现简单限流

注意:提前配置好redis。一、Redis配置import cn.hutool.core.lang.Assert;import com.alibaba.fastjson.JSON;import com.alibaba.fastjson.parser.ParserConfig;import com.alibaba.fastjson.serializer.SerializerFeature;import lombok.extern.slf4j.Slf4j;import org.apache.com

2022-05-07 20:12:06 1396

原创 Springboot项目利用Docker部署启动的方式

注意:docker的安装自行百度,比较简单;准备springboot项目;方式1a、准备springboot的jar包,比如hello-0.0.1-SNAPSHOT.jar;b、建立一个Dockerfile文件:FROM java:8 #必须,以该镜像为基础镜像,可更改VOLUME /temp #创建一个可以从本地主机或其他容器挂载的挂载点,一般用来存放数据库和需要保持的数据等ADD hello-0.0.1-SNAPSHOT.jar /app-docker.jar #将文件从路径添加到ap

2022-04-28 22:05:19 2924

原创 临时笔记中转文档

docker安装gitlab 教程详解https://blog.youkuaiyun.com/weixin_38597669/article/details/122307342命令:docker run -d -p 443:443 -p 800:80 -p 222:22 --name gitlab --restart always --privileged=true -v /opt/gitlab/config:/etc/gitlab -v /opt/gitlab/logs:/var/log/gitlab -v

2022-04-25 21:43:47 882

原创 spring.profiles.active的使用

之前看别人项目在pom中写了区分不同环境的配置,有点不明白,今天特意记录一下,以便后面自己开发使用。开整。第一步首先应该在pom.xml中添加以下配置:<profiles> <profile> <!-- 生产环境 --> <id>prod</id> <properties> <profiles.active

2022-04-20 11:23:03 1399

原创 Java后端开发知识点梳理

知识点归类整理、复习Java基础SpringMyBatis数据库SpringMvcSpringBootSpringCloudRedisRabbitMqKafkaElasticSearch网络DockerLinux

2022-04-18 16:08:23 1972

空空如也

空空如也

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

TA关注的人

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