SpringBoot
文章平均质量分 64
学习总结
W_Meng_H
希望是本无所谓有,无所谓无的!
这正如地上的路,其实地上本没有路,走的人多了,也便成了路!
展开
-
ElasticSearch-关键词随机查询(8.x)
基础介绍:ES自定义评分机制:function_score查询详解-阿里云开发者社区ES自定义评分机制:function_score查询详解本案例只展示随机查询,具体查询权重需根据自身业务修改。原创 2024-08-17 17:31:28 · 499 阅读 · 0 评论 -
ElasticSearch-多边形范围查询(8.x)
具体查询对象,可自行定义,本方法只提供思路,莫直接粘贴使用。是字段名称,它将存储地理形状数据。原创 2024-07-13 21:58:30 · 587 阅读 · 0 评论 -
ElasticSearch-半径查询(8.x)
半径查询(geo_distance query)本案例实现以某个点的经纬,查询半径查询,并计算出其他点和中心点的距离。原创 2024-06-10 18:21:50 · 755 阅读 · 2 评论 -
SpringBoot-监听Nacos动态修改日志级别
线上系统的日志级别一般都是 INFO 级别,有时候需要查看 WARN 级别的日志,所以需要动态修改日志级别。微服务项目中使用 Nacos 作为注册中心,我们可以监听 Nacos 配置,修改日志级别。原创 2023-11-30 20:45:00 · 1288 阅读 · 0 评论 -
SpringBoot-集成FTP(上传、下载、删除)
由于服务在内网部署,需要使用ftp服务器管理文件,总结如下。原创 2023-06-30 20:28:15 · 8979 阅读 · 3 评论 -
Kafka-配置Kerberos安全认证(JDK8、JDK11)
从 Kerberos 服务器上拷贝到目标机器 或 找运维人员要一份。从 Kerberos 服务器上拷贝到目标机器 或 找运维人员要一份。3、Kerberos 配置文件(2、keytab 文件(1、JAAS 配置文件。原创 2023-07-24 16:36:05 · 4718 阅读 · 0 评论 -
SpringBoot-Velocity模板引擎
它允许任何人仅仅使用简单的模板语言来引用由java代码定义的对象。本案例使用动态生成文件。原创 2023-08-01 11:46:09 · 1945 阅读 · 1 评论 -
SpringBoot-logback不同业务模块输出不同的日志文件
工作中有些业务模块日志输出比较频繁,影响其他业务模块问题排查,可以使用logback实现根据不同的业务输出到不同的日志文件。原创 2023-09-12 14:22:43 · 1944 阅读 · 0 评论 -
SpringBoot-集成Minio
Minio 是一个基于Apache License v2.0开源协议的对象存储服务。它兼容亚马逊S3云存储服务接口,非常适合于存储大容量非结构化的数据,例如图片、视频、日志文件、备份数据和容器/虚拟机镜像等,而一个对象文件可以是任意大小,从几kb到最大5T不等。Minio是一个非常轻量的服务,可以很简单的和其他应用的结合,类似 NodeJS, Redis 或者 MySQL。原创 2023-10-24 15:50:18 · 8255 阅读 · 7 评论 -
SpringCloud-Gateway实现RSA加解密
RSA主要使用大整数分解这个数学难题进行设计,巧妙地利用了数论的概念。给了RSA公钥,首先想到的攻击就是分解模数,给了的因子攻击者可以计算得到,从而也可以计算得到解密指数,我们称这种分解模数的方法为针对RSA的暴力攻击。虽然分解算法已经稳步改进,但是在正确使用RSA情况下,当前的技术水平仍远未对RSA的安全性构成威胁。RSA的公钥和私钥到底哪个才是用来加密和哪个用来解密?- 知乎。原创 2023-04-08 15:34:33 · 3634 阅读 · 16 评论 -
SpringCloud-Gateway实现网关
网关作为流量的入口,常用的功能包括路由转发、权限校验、限流等Spring Cloud 是Spring官方推出的第二代网关框架,由WebFlux+Netty+Reactor实现的响应式的API网关,它不能在传统的servlet容器工作,也不能构建war包。基于Filter的方式提供网关的基本功能,例如说安全认证、监控、限流等。原创 2023-03-26 12:48:56 · 2760 阅读 · 0 评论 -
Springboot-自定义注解
业务上我们使用注解实现限流和幂等性校验原创 2023-02-25 10:50:41 · 1134 阅读 · 0 评论 -
Spring - 事务扩展机制 TransactionSynchronization
TransactionSynchronization事务同步回调接口,用于在事务执行过程中的重要时间点执行额外的逻辑,AbstractPlatformTransactionManager中通过TransactionSynchronizationManager间接调用绑定到当前事务所在线程的TransactionSynchronization集合的对应的回调方法。 TransactionSynchronizationManager使用ThreadLocal管理当前事务的TransactionSy原创 2022-12-03 11:13:39 · 1068 阅读 · 0 评论 -
Springboot-Zookeeper(curator)实现分布式锁、分布式ID等
Zookeeper 的原生客户端使用起来比较繁琐,一般生成环境很少使用。curator 在外面封装了一层,使用起来更加方便,并且还提供了常用的场景,比如 leader 选举,分布式锁,分布式队列。官方文档说明:Curator 2.x.x-兼容两个zk 3.4.x 和zk 3.5.x,Curator 3.x.x-兼容兼容zk 3.5。原创 2022-11-06 15:48:20 · 929 阅读 · 0 评论 -
Springboot-Guava retrying接口重试
一般在各种业务场景中,为了保持系统稳定,我们都会有相应的重试机制,某个接口某个数据库链接由于网络抖动或者其他因素导致响应失败。Guava-retrying或者分析过其源码你会发现,guava-retrying重试组件特别轻量级,核心类就那几个,并且使用简单设计优雅,但是它也存在缺点。原创 2022-10-10 20:07:57 · 939 阅读 · 0 评论 -
Springboot-自定义Spring Boot Starter并推送到远端公服
打包时需要注意一下,SpringBoot项目打包的JAR是可执行JAR,它的类放在BOOT-INF目录下,如果直接作为其他项目的依赖,会找不到类,可以通过修改pom文件来解决。在resources下新建META-INF文件夹,然后创建spring.factories文件。在当前项目的maven对应的 setting.xml 中,修改一下镜像的配置。同一个环境下的maven,可提供给其他项目使用。Look up 自己项目的GitHub地址。项目上传到GitHub,并创建版本。在该文件中加入如下配置。原创 2022-09-03 22:41:07 · 988 阅读 · 2 评论 -
ElasticSearch-SpringBoot中三种分页查询总结
目录一、from+size 浅分页DSL 查询方式RestHighLevelClient 查询方式二、scroll 深分页DSL 查询方式RestHighLevelClient 查询方式三、search_after 深分页DSL 查询方式RestHighLevelClient 查询方式一、from+size 浅分页浅"分页可以理解为简单意义上的分页。它的原理很简单,就是查询前20条数据,然后截断前10条,只返回10-20的数据。这样其实白白浪费了前10条的查询原创 2022-04-03 18:13:08 · 11700 阅读 · 2 评论 -
ElasticSearch-RestHighLevelClient聚合查询总结
目录一、TopHitsAggregation二、TermsAggregation三、CardinalityAggregation四、DateHistogramAggregation五、SumAggregation六、AvgAggregation七、MaxAggregation八、MinAggregationSpringBoot使用ES的Aggregation聚合查询总结一、TopHitsAggregationpublic TopHitsAggregationBu原创 2022-04-03 16:14:23 · 3279 阅读 · 0 评论 -
ElasticSearch-RestHighLevelClient常用查询总结
match、match_phrase、query_string、wildcard、regexp、term、terms、nested、range等相关查询总结ES相关查询Java版本:import cn.hutool.core.collection.ListUtil;import org.apache.lucene.search.join.ScoreMode;import org.elasticsearch.index.query.BoolQueryBuilder;import org.e原创 2022-04-03 16:02:09 · 4802 阅读 · 0 评论 -
ElasticSearch-SpringBoot配置RestHighLevelClient
目录一、引入jar二、yml文件三、Bean注入一、引入jarmaven:<!-- https://mvnrepository.com/artifact/org.elasticsearch.client/transport --><dependency> <groupId>org.elasticsearch.client</groupId> <artifactId>transport</arti原创 2022-04-03 15:21:36 · 3435 阅读 · 1 评论 -
设计模式-工厂模式(统一获取枚举类)
目录一、引入jar二、公用接口三、自定义枚举类四、枚举工厂类五、获取所有的枚举类参数项目开发时,我们会写很多枚举类,有的是后端自己使用,有的给前端当做字典使用。可以通过此工具包统一获取:org.apache.commons:commons-lang3一、引入jarmaven:<!-- https://mvnrepository.com/artifact/org.apache.commons/commons-lang3 --><depen原创 2022-03-30 20:03:16 · 3024 阅读 · 0 评论 -
设计模式-Map+函数式接口-策略模式-模板
如果有很多if else判断,需要封装参数等场景,可以使用此方式减少if else。原创 2022-03-30 19:40:31 · 2089 阅读 · 0 评论 -
Springboot-MDC+logback实现日志追踪
一、MDC介绍MDC(Mapped Diagnostic Contexts)映射诊断上下文,该特征是logback提供的一种方便在多线程条件下的记录日志的功能。某些应用程序采用多线程的方式来处理多个用户的请求。在一个用户的使用过程中,可能有多个不同的线程来进行处理。典型的例子是 Web 应用服务器。当用户访问某个页面时,应用服务器可能会创建一个新的线程来处理该请求,也可能从线程池中复用已有的线程。在一个用户的会话存续期间,可能有多个线程处理过该用户的请求。这使得比较难以...原创 2022-02-15 13:47:09 · 4168 阅读 · 1 评论 -
Springboot-RestTemplate实现https请求
基于上一篇文章生成的证书:Nginx-配置HTTPS证书(单向认证)_孟孟的博客-CSDN博客_nginx配置https访问一、证书转换服务方给的证书多为"cer"类型,比如直接从浏览器中下载下来的,该类证书不能直接使用java调用认证,需转换为java可识别的类型,比如".keystore"。 利用jdk中"keytool"命令进行转换,即证书导入,执行命令:keytool -importcert -keystore client.keystore -file nginx.crt.原创 2022-02-13 16:52:28 · 2780 阅读 · 0 评论 -
Springboot-jar包瘦身部署
目录一、获取依赖的jar包二、修改pom文件三、运行命令Springboot默认jar的方式打包,会把所有依赖都打包,有的jar比较大,变动很小,这样每次部署都整个发布,网速不好花的时间就会比较多,我们可以把依赖的jar包独立出来。一、获取依赖的jar包在Idea终端使用命令:mvn dependency:copy-dependencies -DoutputDirectory=E:\jar -DincludeScope=runtime二、修改pom文件...原创 2021-06-23 09:18:48 · 502 阅读 · 0 评论 -
Java-动态调用接口实现
目录一、枚举类二、Contrller层三、处理不同泛型的lList四、类操作工具类五、Spring 工具类提供一个统一的对外接口,根据不同的传参,按照对应的方式处理一、枚举类定义一个枚举RequestEnum,保存method,和对应完全限定名和方法名并根据method获取到对应枚举,来进行反射获取对应类import lombok.AllArgsConstructor;import lombok.Getter;/** * @Description: {枚举.原创 2021-04-18 15:25:30 · 2298 阅读 · 1 评论 -
Springboot-整合kafka
Spring for Apache Kafka 版本对应关系: Spring for Apache Kafka Version Spring Integration for Apache Kafka Version kafka-clients Spring Boot 2.7.0-SNAPSHOT 5.4.x 2.7.0 (RC5) 2.4.x原创 2020-12-24 10:39:57 · 670 阅读 · 0 评论 -
Springboot-爬虫代码(豆瓣读书)
个人学习需要,自己也不想造数据(太懒~哈哈~),就爬了一下豆瓣读书的数据(感谢豆瓣~)流程:使用 Java 的 jsoup 对豆瓣读书进行爬虫,保存到本地 mysql 中,再使用 logstash 插件,将 mysql 的数据传输到 elasticsearch项目源码:https://github.com/Vmetrio/reptilejsoup官网:https://jsoup.org豆瓣读书:https://book.douban.com/latest?icn=index-latestbo原创 2020-12-19 19:24:33 · 860 阅读 · 1 评论 -
Spingboot-Mysql数据导出为Excel
pom文件:<!-- https://mvnrepository.com/artifact/org.apache.poi/poi --><dependency> <groupId>org.apache.poi</groupId> <artifactId>poi</artifactId> <version>3.17</version></dependency><原创 2020-12-17 14:28:36 · 324 阅读 · 0 评论 -
Springboot - 统一异常处理
异常处理流程业务中存在运行时异常和业务逻辑异常,前者不运行时很难察觉,后者在遍及业务时就可以定义出来,因此异常分为不可预知异常和可知异常。流程如下:自定义全局异常类,使用@ControllerAdvice,控制器增强 自定义错误代码及错误信息,两种异常最终会采用统一的信息格式来表示,错误代码+错误信息。 对于可预知的异常由程序员在代码中主动抛出,由SpringMVC统一捕获。 不可预...原创 2020-03-26 15:12:37 · 645 阅读 · 0 评论 -
docker-ELK+Filebeat日志管理(Kibana中文版)-7.X版本
一、下载ELK镜像docker pull sebp/elk:750PS:镜像较大,时间较长!!!二、对 sysctl.conf 文件 进行修改echo "vm.max_map_count=262144" > /etc/sysctl.confsysctl -p三、运行 ELKmkdir -p /usr/local/docker/elkdata...原创 2020-03-24 23:32:25 · 3511 阅读 · 5 评论 -
Springboot - 配置Swagger2(spring-boot-starter-swagger)
Github:https://github.com/SpringForAll/spring-boot-starter-swagger一、pom文件<!-- swagger2 --><dependency> <groupId>com.spring4all</groupId> <artifactId>swag...原创 2020-03-22 20:30:37 · 754 阅读 · 0 评论 -
docker-IDEA上传Docker镜像到私有镜像仓库
一、开发环境工具 版本 IntelliJ IDEA 2019.3.3 Docker 19.03.8 PS:提前安装好 Windows 版 Docker ,Docker 版本没影响,流程都差不多二、IDEA使用Docker工具(制作镜像)https://blog.csdn.net/W_Meng_H/article/details/105007421...原创 2020-03-21 13:13:59 · 3463 阅读 · 3 评论 -
docker-IDEA使用Docker工具(制作镜像)
一、开发环境开发工具 版本 IntelliJ IDEA 2019.3.3 Docker 19.03.8 PS:提前安装好 Windows 版 Docker ,Docker 版本没影响,流程都差不多二、IDEA配置Docker1、从Idea的File->Settings->Pluginsn进入插件安装界面,在搜索框中输入docker,可以看...原创 2020-03-21 12:50:44 · 2237 阅读 · 0 评论 -
Springboot - 通用返回类BaseResults
BaseResults类public class BaseResults<T> { private Integer code; private String message; private T data; public BaseResults() { super(); } public BaseResu...原创 2020-03-20 18:18:02 · 1932 阅读 · 0 评论 -
Spring Data Jpa - 获得实体类部分字段(单表或多表)
一、单表查询的某一个字段、一条数据@Query(value = "select username from user",nativeQuery = true)// 注意返回值用String类型接收,也可以使用ObjectString findOneUserName();二、单表查询的某一个字段、多条数据@Query(value = "select distinct use...原创 2020-03-07 11:16:09 · 2038 阅读 · 0 评论 -
Springcloud - Feign+Hystrix+Ribbon+Eureka组件整合
项目源码:https://github.com/Vmetrio/SpringCloud项目是最基础的框架(父子项目模式),运行流程看 github 的 README.md网上讲解SpringCloud文章有很多了,推荐大家看一下方志鹏的博客:https://blog.csdn.net/forezp/category_9268575.html本文只是分享个人使用心得1...原创 2019-12-10 16:58:54 · 445 阅读 · 0 评论 -
Springboot - Jpa运用MySQL的存储过程
一、什么是存储过程?MySQL 5.0 版本开始支持存储过程。存储过程(Stored Procedure)是一种在数据库中存储复杂程序,以便外部程序调用的一种数据库对象。存储过程是为了完成特定功能的SQL语句集,经编译创建并保存在数据库中,用户可通过指定存储过程的名字并给定参数(需要时)来调用执行。存储过程思想上很简单,就是数据库 SQL 语言层面的代码封装与重用。存储过程(p...原创 2019-11-20 13:02:21 · 1295 阅读 · 0 评论 -
Springboot - Jar包实现磁盘文件、图片 URL 映射
第一种方式:Springboot 2.0之后的需要继承WebMvcConfigurationSupportimport java.io.File;import org.springframework.boot.system.ApplicationHome;import org.springframework.context.annotation.Configuration;imp...原创 2019-10-24 14:38:48 · 680 阅读 · 0 评论 -
Springboot-JavaMailSender发送邮件
1、引入pom依赖:分别是freemarker邮件模板和spring-maill依赖<!-- Spring Boot Freemarker 依赖,发送HTML格式的邮件的方式 --> <dependency> <groupId>org.springframework.boot</groupId> ...原创 2018-08-02 17:07:47 · 570 阅读 · 0 评论