- 博客(101)
- 收藏
- 关注
原创 SpringBoot集成Elasticsearch 7.x spring-boot-starter-data-elasticsearch 方式
由 Spring 提供,是 Spring 在 ES 官方接口基础之上的二次封装,使用简单,易于上手;缺点是更新太慢,SpringBoot 2.2.x 才提供对 es7.x 的支持,版本关联性很大,不易维护;不过在此还是讲一下 starter 启动器下的 集成步骤,万一官方更新速度加快了呢。Java High Level Rest Client方式 去集成 Elasticsearch(这个是目前公司常用的方式)就要遵守 自定义方法命名规范【自定义方法命名约定】:/**
2026-05-03 21:45:45
313
原创 Spring Boot整合Redisson的两种方式
Redis是一个开源的内存数据库,支持多种数据类型,如字符串、哈希、列表、集合和有序集合等,常用于缓存、消息队列、计数器、分布式锁和搜索等应用场景。Redisson则是一个基于Redis实现的Java驻内存数据网格,提供了一系列分布式的Java常用对象和多种锁机制,以及分布式服务,使开发者能更集中于处理业务逻辑。Redisson不支持字符串操作、排序、事务、管道、分区等Redis特性,但Redisson 提供了许多其他功能,如分布式闭锁、分布式计数器、分布式信号量等。
2026-05-03 20:12:06
181
原创 Plugin ‘org.springframework.bootspring-boot-maven-plugin‘ not found的解决方法
尝试使用 VPN 或更换网络环境,然后再次执行 Maven 构建命令。出现这个报错通常是因为 Maven 无法找到相应的 Spring Boot Maven 插件。如果仍然有问题,请提供更多详细信息,例如完整的错误堆栈跟踪和你的 Maven 配置,以便我更好地帮助你解决问题。如果没有,可以将相应的配置添加到父项目的。执行 Maven 的清理命令,然后重新构建项目。这将清除所有已编译的类文件和错误的依赖缓存,并重新下载正确的依赖。如果你的项目是基于父项目的,检查父项目的。
2026-05-03 18:40:05
13
原创 MySQL四种备份表的方式
MySQL的备份方式多种多样,不同的备份方式各有优缺点。对于中小型数据库,mysqldump和MySQL Workbench工具较为合适,操作简便,且支持表结构和数据的备份。对于只需要数据导出分析的情况,可以使用语句。而对于大型数据库和实时备份的需求,Binary Log增量备份是一种高效的解决方案。在实际应用中,应根据业务的规模、数据的重要性和恢复时间的需求选择合适的备份方式。同时,定期测试备份的有效性是确保数据安全的关键环节。
2026-05-03 17:09:40
332
原创 JDK17在Windows安装以及环境变量配置(超详细的教程)
如果您系统中没有安装JRE,他会提示你安装JRE,在我们开发环境中,JDK中已经带有JRE,因此你可以不安装JRE.很多同学在其他的地方也能下载,但是我还是强烈推荐如果有条件使用官网的下载链接。这个地方如果你更换了安装目录,要记住这个目录,一会在进行环境变量配置的时候需要用到这个目录。为了让系统能自动识别到我们的JDK,那么我们需要去配置JDK的环境变量。点击“编辑系统环境变量”即可。点击“关闭”按钮完成安装。
2026-05-03 15:37:54
326
原创 docker中配置redis
4、下载redis,解压,复制redis.conf到你上一步建立的目录下,/home/docker-data-redis。3、创建目录,在你的宿主机,(我是在虚机中建的centos7)为了给redis配置文件使用。docker pull redis(默认你的docker中没有redis)6.1、 注释掉127.0.0.1,允许远程访问。5、解压后,将redis.conf上传。6.2、守护线程启动,默认为no。9、操作完后,就可以愉快的玩耍了。2、查看redis是否拉取成功。6.3、设置redis访问密码。
2026-05-02 14:10:25
184
原创 SpringSecurity的配置
SpringSecurity是针对Spring项目的安全框架,也是Spring Boot底层安全模块默认的技术选型,他可以实现强大的Web安全控制,对于安全控制,我们仅需要引入spring-boot-starter-security模块,进行少量的配置,即可实现强大的安全管理!主要的几个类:webSecurityConfigurerAdapter:自定义Security策略AuthenticationManagerBuilder:自定义的认证策略。
2026-04-21 10:11:48
189
原创 Spring Cloud Alibaba 组件版本选择
如果不想跨分支升级,如需使用新特性,请升级为对应分支的新版本。下表为按时间顺序发布的 Spring Cloud Alibaba 以及对应的适配 Spring Cloud 和 Spring Boot 版本关系(由于 Spring Cloud 版本命名有调整,所以对应的 Spring Cloud Alibaba 版本号也做了对应变化)如果需要使用 Spring Cloud Greenwich 版本,请在 dependencyManagement 中添加如下内容。2.0.4.RELEASE(停止维护,建议升级)
2026-04-21 07:49:46
387
原创 org.springframework.security.access.AccessDeniedException 不允许访问
检查我的WebSecurityConfigurerAdapter子类SecurityConfigWithoutUserDetail。org.springframework.security.access.AccessDeniedException: 不允许访问。* 捕捉AccessDeniedException,spring security抛出的无权限访问的异常信息。发现,我自定义的myAccessDeniedHandler类没有调用。测试spring security的权限校验功能时,
2026-04-21 05:32:39
178
原创 MySQL-触发器(TRIGGER)
例如,对于一张数据表,不能同时有两个 BEFORE UPDATE 触发器,但可以有一个 BEFORE UPDATE 触发器和一个 BEFORE INSERT 触发器,或一个 BEFORE UPDATE 触发器和一个 AFTER UPDATE 触发器。BEFORE 和 AFTER,触发器被触发的时刻,表示触发器是在激活它的语句之前或之后触发。现在触发器还只支持行级触发,不支持语句级触发。注意:当触发器设计对触发表自身的更新操作时,只能使用 BEFORE 类型的触发器,AFTER 类型的触发器将不被允许。
2026-04-21 03:15:37
373
原创 Go环境搭建(vscode调试)
如果出现go.tools.intall not found 可以重启一下VScode,确保path中go的bin目录配置正确。推荐使用moudle模式,这样三方包就在$GOPATH/pkg/mod目录下,可以允许有多个不同的版本,多个项目都可以共享。这就有点像Java的包管理模式了,不用每个项目都去处理GOPTH,也不需要每个项目都去下载相同的三方包了。go get和go intall下载的三方包就会安装到GOPATH中。我们下载的免安装版本,直接解压就可以。
2026-04-21 00:59:05
225
原创 springBoot发布https服务及调用
(2)CA 签名证书:对于生产环境,应该使用由受信任的证书颁发机构 (CA) 签名的证书。(1)自签名证书:如果你只是用于开发或测试环境,可以生成一个自签名证书。feign接口的地址还是正常配置http或https都支持。你需要提供一些信息,如组织名称等。注意记住密码和别名。这将创建一个有效期为 10 年的自签名证书,并将其存储在。启动服务即可通过https访问了,默认可以设置成false。把证书放在ssl目录下。
2026-04-19 16:23:58
179
原创 Spring Boot + Spring AI快速体验
Spring AI是Spring的一个子项目,是Spring专门面向于AI的应用框架。Spring AI 项目旨在简化整合人工智能功能的应用程序开发,避免不必要的复杂性。汲取了著名的 Python 项目 LangChain 和 LlamaIndex 的灵感,但 Spring AI 并不是这些项目的直接移植。该项目的成立的信念:下一波生成式人工智能应用程序不仅将面向Python开发人员,而且将在许多编程语言中无处不在。@Bean。
2026-04-19 13:44:08
226
原创 Nginx 之Rewrite 使用详解
Nginx 的rewrite模块是处理 HTTP 请求过程中的一个重要功能,它允许基于 Perl 兼容正则表达式(PCRE)对用户请求的 URI 进行重写,并返回 30x 重定向跳转或按条件执行相关配置。这个模块提供了灵活的 URL 重写和重定向功能,可以用于实现友好 URL、301/302 重定向、条件重写等。
2026-04-19 10:57:09
175
原创 鸿蒙NEXT(五):鸿蒙版React Native架构浅析
本文详细介绍了鸿蒙版 React Native 架构。包括按功能划分的架构组成,如 RN 应用代码、库代码、JSI、React Common、OpenHarmony 适配代码及 OS 代码等。还阐述了 Fabric、TurboModule、线程模型、命令式组件、启动流程等方面内容。启动流程分为 RN 容器创建、Worker 线程启动、NAPI 方法初始化、RN 实例创建及加载 bundle 等阶段。整体架构复杂且功能明确,为开发者提供了在鸿蒙平台上使用 React Native 的技术支持。
2026-04-18 08:19:12
149
原创 在Spring Boot项目中使用MySQL数据库
通过本文,你已经了解了如何在 Spring Boot 项目中集成 MySQL 数据库,并通过简单的 API 来管理用户数据。Spring Boot 的简洁性和 MySQL 的强大功能结合,使得开发高效且愉快。
2026-04-18 05:56:16
203
原创 【Redis】centos7 systemctl 启动 Redis 失败
手动运行这条命令,发现是正常的,所以猜想是 service 文件的问题,后来发现只需要把 [Service] 部分的。Man pages 对 Systemd 服务启动类型 Type 的解释如下。今天启动 Redis 时阻塞很长时间,之后显示启动失败,启动状态如下。看了下 service 文件,发现 Systemd 启动命令如下。之后重新加载 Service 文件并启动 Redis 服务。因为 Redis 配置文件里配置的是。
2026-04-18 03:31:41
167
原创 SQL Server2022详细安装教程
25. 如果出现报错“显示证书链是由不受信任的颁发机构颁发的”,勾选“信任服务器证书”或者将“强制”改成“可选”,即可解决。16. 点击“添加当前用户”,会出现一行东西,然后点“下一步”4. 选择下载位置,最好不要在C盘即主磁盘即可。21. 下载后点击打开,更改安装位置或者直接点击安装。7. 选择Developer,点击下一步。3. 下载好安装包,打开,选择自定义。6. 点击“安装”,点击全新SQL。12. 选上数据库引擎服务,下一步。11. 取消选中,下一步。8. 勾选,点击下一步。
2026-04-18 01:09:25
303
原创 springboot使用redis
一种为RedisTemplate,这种是有泛型的,泛型类型为<String, String> 或者 <Object, Object> 或者不添加泛型,当用它来向redis服务器中存入String类型的数据时,会出现乱码。序列化只是一种拆装对象的规则,那么这种规则也就多种多样,常见的有JDK(不支持跨语言),json,xml,Hessian等。序列化是将对象转换为可传输字节序列的过程,反序列化是将字节序列还原为原对象的过程.序列化最终的目的是为了对象可以。
2026-04-17 23:35:17
379
原创 Spring Boot spring.factories文件详细说明
spring.factories 文件是 Spring Boot 自动配置机制的核心部分之一。它位于每个 Spring Boot 自动配置模块的 META-INF 目录下,用于声明该模块提供的自动配置类、条件性配置类、环境后处理器等。以下是对 spring.factories 文件的详细说明:相信大家的项目中都会写starter,我们团队写的国际化通用和通用聚合服务等即插即用的功能包,就是用的starter。
2026-04-04 05:22:53
396
原创 mysql实用系列日期格式化
如果你有一个非日期时间类型的字段,但你知道它包含的是日期或时间信息,你可能需要先将其转换为 DATETIME 类型,然后再使用 DATE_FORMAT() 函数。如果你尝试对一个非日期时间类型的字段使用 DATE_FORMAT(),比如 INT 或 VARCHAR,MySQL 会返回一个错误,因为它无法将这些类型的数据解释为日期或时间。这里,STR_TO_DATE() 函数将字符串转换为 DATETIME 类型,然后 DATE_FORMAT() 函数将其格式化为所需的格式。函数的一些基本用法。
2026-04-04 02:23:20
27
原创 SpringBoot+Mybatis-plus实现分页查询(一看就会)
首先我们需要引入分页插件配置,然后创建DTO和VO,DTO包含我们需要的进行查询的字段,继承PageDto,VO是返回信息的对象,这样做不会影响我们创建的实体类。接下来就是service接口和serviceImpl实现类的创建,在实现类里面编写我们分页的逻辑然后三部分结构,引入Page实例、查询语句编写、page方法进行查询并复制给VO对象用于返回信息。
2026-04-02 07:24:35
349
原创 oracle 加字段和字段注释 sql
在 Oracle 数据库中,你可以使用语句来添加字段,并使用语句来添加字段注释。以下是一个示例:假设你有一个名为employees的表,你想要添加一个名为email的字段,并为其添加注释。
2026-04-02 04:08:05
22
原创 Mac安装Redis步骤
bind绑定的是自己机器网卡的ip,如果有多块网卡可以配多个ip,代表允许客户端通过机器#的哪些网卡ip去访问,内网一般可以不配置bind,注释掉即可。//aof文件至少要达到64M才会自动重写,文件太小恢复速度本来就很快,重写的意义不大。#每次有新命令追加到 AOF 文件时就执行一次fsync,非常慢,也非常安全。下载后的压缩文件可以在文件夹中手动的解压和移动,也可以通过终端命令解压和移动。在自己的redis目录下建立bin,etc,db三个目录。解压缩后的文件移动到自己的文件夹。
2026-04-02 00:50:56
377
原创 go测试问题记录
时,这意味着 Go 测试框架没有实际运行测试,而是返回了之前测试运行的结果。Go 1.10 引入了测试结果缓存,目的是为了加快测试的速度。如果自上次成功测试以来源代码和测试代码都没有发生变化,并且测试所依赖的环境(如环境变量和文件)也没有变化,Go 测试框架就会使用缓存的结果。另外,请确保你的测试确实触发了一些代码的变动,因为如果测试无法检测到代码变动(包括测试中依赖的任何文件或环境变量的变动),它可能会直接使用缓存的结果。这将告诉 Go 测试框架忽略缓存,并重新运行指定的测试。当 Go 测试输出显示。
2026-04-01 23:02:17
41
原创 教你彻底卸载MySQL 并重装(保姆级教程 )
都是自己踩过的坑(其他博主也有,不过我的特殊,按步骤走完重新安装仍要输入原密码,本篇主要解决和我问题类似的情况),跟着以下步骤走就行。
2026-04-01 19:37:06
223
原创 分布式监控Skywalking安装及使用教程(保姆级教程)
本文主要讲解分布式链路追踪监控系统Skywalking的安装及使用教程,从0到1,图文并茂的保姆级教程。SkyWalking是一款用于分布式系统跟踪和性能监控的开源工具。它可以帮助开发人员了解分布式系统中不同组件之间的调用关系和性能指标,从而进行故障排查和性能优化。它支持多种语言和框架,包括Java、.NET、Node.js等。它通过在应用程序中插入代理或使用特定的SDK来收集跟踪数据,并将这些数据发送到SkyWalking服务器进行分析和展示。分布式跟踪。
2026-04-01 05:33:49
367
原创 Windows安装Redis图文教程
指定 Redis 最大内存限制,Redis 在启动时会把数据加载到内存中,达到最大内存后,Redis 会先尝试清除已到期或即将到期的 Key,当此方法处理 后,仍然到达最大内存设置,将无法再进行写入操作,但仍然可以进行读取操作。Redis 新的 vm 机制,会把 Key 存放内存,Value 会存放在 swap 区。设 置同一时间最大客户端连接数,默认无限制,Redis 可以同时打开的客户端连接数为 Redis 进程可以打开的最大文件描述符数,如果设置 maxclients 0,表示不作限制。
2026-04-01 02:28:43
330
原创 springBoot 和springCloud 版本对应关系
alibaba Cloud 和spring cloud 和springboot 版本对应关系。idea 阿里云脚手架插件:Alibaba Cloud Toolkit。所以,应该使用springCloud 版本为:2021.0.6。请求下面链接:拿到的json 数据,格式化。我目前的springboot 是2.7.6。
2026-03-31 05:47:39
188
原创 Node.js NativeAddon 构建工具:node-gyp 安装与配置完全指南
Node.js NativeAddon 构建工具(node-gyp)是一个基于 Node.js 的跨平台命令行工具,专用于编译 Node.js 的原生插件模块。它内部封装了源自Chromium团队使用的 gyp-next 项目,并针对 Node.js 模块开发进行了扩展。值得注意的是,node-gyp 不用来构建 Node.js 自身,而是专注于让开发者能够轻松地在不同的操作系统上编译原生模块。这个工具支持多种版本的 Node.js,并自动匹配对应版本的开发文件。JavaScript 和 C/C++
2026-03-31 02:34:44
199
原创 MS SQL Server 实战 统计与汇总重复记录
如图可以看出,统计汇总结果清晰的反映出了重复记录的情况,即 count(title)>1 的 ct 字段值,值大于1 的表示该题目出现的个数。另外命令结果增加了4个行,包括单选题统计共 248 题,多选题统计共 113 题,判断题统计共 293 题,总数统计共 654 题。主要是通过 case when 语句对 title 字段进行判断 ,为NULL值的表示汇总行,则进行 isnull(etype,‘总数’)+‘统计情况:’ 的字符串拼接,etype字段为 NULL 值的表示总数的统计行。
2026-03-30 11:46:19
293
原创 Gateway Timeout504 网关超时的完美解决方法
HTTP状态码504表示前端服务器已经收到了客户端的请求,并且知道应该由哪个后端服务器来处理该请求,但是后端服务器没有在预期的时间内完成处理并返回响应。请求跟踪- 在分布式系统中,使用像Zipkin或Jaeger这样的工具来追踪请求在整个服务链中的执行路径。后端服务器过载- 如果后端服务器正在处理大量的请求,可能会导致新的请求被延迟处理,从而引发504错误。检查服务器日志- 查看前端和后端服务器的日志文件,寻找可能的异常记录或错误消息。配置问题- 错误的服务器配置,比如超时设置不当,也可能导致504错误。
2026-03-30 10:12:47
309
原创 RabbitMQ HAProxy 负载均衡
前面我们学习了 rabbitmq 搭建集群,并且为了解决集群中队列的高可用问题,使用仲裁队列替代普通的队列,但是其实这里还有一个问题,就是我们在使用 Java 连接 rabbitmq 的时候,需要指定 rabbitmq 服务的 IP 和端口号,如果该端口号绑定的 rabbitmq 服务挂掉了,那么我们的 Java 程序是否还能够访问到呢?在RabbitMQ集群中,如果所有客户端都连接到同一个节点,该节点的网络负载会显著增加,而其他节点则可能处于空闲状态,造成资源浪费。
2026-03-30 06:28:22
370
原创 MySQL 与 Redis 的数据一致性问题
简单来讲,我们只能保证先到的请求的第一阶段写的执行顺序(MySQL 内部的事务),第二阶段写就无法保证执行顺序(除非使用强一致性方案),这时候如果使用更新 Redis 的方案就有数据错误的风险。这种清除 Redis 的策略如果有频繁的更新对导致缓存层(Redis) 会失效, 大量的请求会打到 mysql 上面,mysql 可能直接被打爆,造成严重的事故.这时候Redis 的数据是错误的,会导致后面查询的时候全部查询到错误的数据(只能重新加载 MySQL 数据到 Redis 才能恢复)
2026-03-30 02:55:47
286
原创 【MySQL — 数据库基础】深入理解数据库服务与数据库关系、MySQL连接创建、客户端工具及架构解析
4.1 什么是SQLSQL(Structured Query Language)是结构化查询语言的简称,是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库。我们知道MYSQL是关系型数据库,这时候需要通过MYSQL来存储数据,我们对数据库的所有的操作该如何进行呢?我们如何操作数据库呢?首先,我们需要明确一点,数据库是用来保存数据的;那么操作数据库,就要使用工具/语言,就是SQL;
2026-03-28 12:25:26
244
原创 springBoot 和springCloud 版本对应关系
alibaba Cloud 和spring cloud 和springboot 版本对应关系。idea 阿里云脚手架插件:Alibaba Cloud Toolkit。所以,应该使用springCloud 版本为:2021.0.6。请求下面链接:拿到的json 数据,格式化。我目前的springboot 是2.7.6。
2026-03-28 08:16:45
237
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅