自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Spring Boot spring.factories文件详细说明

spring.factories 文件是 Spring Boot 自动配置机制的核心部分之一。它位于每个 Spring Boot 自动配置模块的 META-INF 目录下,用于声明该模块提供的自动配置类、条件性配置类、环境后处理器等。以下是对 spring.factories 文件的详细说明:相信大家的项目中都会写starter,我们团队写的国际化通用和通用聚合服务等即插即用的功能包,就是用的starter。

2026-04-04 05:22:53 332

原创 mysql实用系列日期格式化

如果你有一个非日期时间类型的字段,但你知道它包含的是日期或时间信息,你可能需要先将其转换为 DATETIME 类型,然后再使用 DATE_FORMAT() 函数。如果你尝试对一个非日期时间类型的字段使用 DATE_FORMAT(),比如 INT 或 VARCHAR,MySQL 会返回一个错误,因为它无法将这些类型的数据解释为日期或时间。这里,STR_TO_DATE() 函数将字符串转换为 DATETIME 类型,然后 DATE_FORMAT() 函数将其格式化为所需的格式。函数的一些基本用法。

2026-04-04 02:23:20 9

原创 SpringBoot+Mybatis-plus实现分页查询(一看就会)

首先我们需要引入分页插件配置,然后创建DTO和VO,DTO包含我们需要的进行查询的字段,继承PageDto,VO是返回信息的对象,这样做不会影响我们创建的实体类。接下来就是service接口和serviceImpl实现类的创建,在实现类里面编写我们分页的逻辑然后三部分结构,引入Page实例、查询语句编写、page方法进行查询并复制给VO对象用于返回信息。

2026-04-02 07:24:35 320

原创 oracle 加字段和字段注释 sql

在 Oracle 数据库中,你可以使用语句来添加字段,并使用语句来添加字段注释。以下是一个示例:假设你有一个名为employees的表,你想要添加一个名为email的字段,并为其添加注释。

2026-04-02 04:08:05 13

原创 Mac安装Redis步骤

bind绑定的是自己机器网卡的ip,如果有多块网卡可以配多个ip,代表允许客户端通过机器#的哪些网卡ip去访问,内网一般可以不配置bind,注释掉即可。//aof文件至少要达到64M才会自动重写,文件太小恢复速度本来就很快,重写的意义不大。#每次有新命令追加到 AOF 文件时就执行一次fsync,非常慢,也非常安全。下载后的压缩文件可以在文件夹中手动的解压和移动,也可以通过终端命令解压和移动。在自己的redis目录下建立bin,etc,db三个目录。解压缩后的文件移动到自己的文件夹。

2026-04-02 00:50:56 345

原创 go测试问题记录

时,这意味着 Go 测试框架没有实际运行测试,而是返回了之前测试运行的结果。Go 1.10 引入了测试结果缓存,目的是为了加快测试的速度。如果自上次成功测试以来源代码和测试代码都没有发生变化,并且测试所依赖的环境(如环境变量和文件)也没有变化,Go 测试框架就会使用缓存的结果。另外,请确保你的测试确实触发了一些代码的变动,因为如果测试无法检测到代码变动(包括测试中依赖的任何文件或环境变量的变动),它可能会直接使用缓存的结果。这将告诉 Go 测试框架忽略缓存,并重新运行指定的测试。当 Go 测试输出显示。

2026-04-01 23:02:17 36

原创 教你彻底卸载MySQL 并重装(保姆级教程 )

都是自己踩过的坑(其他博主也有,不过我的特殊,按步骤走完重新安装仍要输入原密码,本篇主要解决和我问题类似的情况),跟着以下步骤走就行。

2026-04-01 19:37:06 210

原创 分布式监控Skywalking安装及使用教程(保姆级教程)

本文主要讲解分布式链路追踪监控系统Skywalking的安装及使用教程,从0到1,图文并茂的保姆级教程。SkyWalking是一款用于分布式系统跟踪和性能监控的开源工具。它可以帮助开发人员了解分布式系统中不同组件之间的调用关系和性能指标,从而进行故障排查和性能优化。它支持多种语言和框架,包括Java、.NET、Node.js等。它通过在应用程序中插入代理或使用特定的SDK来收集跟踪数据,并将这些数据发送到SkyWalking服务器进行分析和展示。分布式跟踪。

2026-04-01 05:33:49 342

原创 Windows安装Redis图文教程

指定 Redis 最大内存限制,Redis 在启动时会把数据加载到内存中,达到最大内存后,Redis 会先尝试清除已到期或即将到期的 Key,当此方法处理 后,仍然到达最大内存设置,将无法再进行写入操作,但仍然可以进行读取操作。Redis 新的 vm 机制,会把 Key 存放内存,Value 会存放在 swap 区。设 置同一时间最大客户端连接数,默认无限制,Redis 可以同时打开的客户端连接数为 Redis 进程可以打开的最大文件描述符数,如果设置 maxclients 0,表示不作限制。

2026-04-01 02:28:43 205

原创 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 182

原创 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 191

原创 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 288

原创 Java进阶——如何查看Java字节码

深入学习Java语言,也免不了要去研究JVM类加载、JVM字节码相关的东西,这时就需要经常查看字节码。

2026-03-30 10:59:27 135

原创 Gateway Timeout504 网关超时的完美解决方法

HTTP状态码504表示前端服务器已经收到了客户端的请求,并且知道应该由哪个后端服务器来处理该请求,但是后端服务器没有在预期的时间内完成处理并返回响应。请求跟踪- 在分布式系统中,使用像Zipkin或Jaeger这样的工具来追踪请求在整个服务链中的执行路径。后端服务器过载- 如果后端服务器正在处理大量的请求,可能会导致新的请求被延迟处理,从而引发504错误。检查服务器日志- 查看前端和后端服务器的日志文件,寻找可能的异常记录或错误消息。配置问题- 错误的服务器配置,比如超时设置不当,也可能导致504错误。

2026-03-30 10:12:47 280

原创 RabbitMQ HAProxy 负载均衡

前面我们学习了 rabbitmq 搭建集群,并且为了解决集群中队列的高可用问题,使用仲裁队列替代普通的队列,但是其实这里还有一个问题,就是我们在使用 Java 连接 rabbitmq 的时候,需要指定 rabbitmq 服务的 IP 和端口号,如果该端口号绑定的 rabbitmq 服务挂掉了,那么我们的 Java 程序是否还能够访问到呢?在RabbitMQ集群中,如果所有客户端都连接到同一个节点,该节点的网络负载会显著增加,而其他节点则可能处于空闲状态,造成资源浪费。

2026-03-30 06:28:22 364

原创 MySQL 与 Redis 的数据一致性问题

简单来讲,我们只能保证先到的请求的第一阶段写的执行顺序(MySQL 内部的事务),第二阶段写就无法保证执行顺序(除非使用强一致性方案),这时候如果使用更新 Redis 的方案就有数据错误的风险。这种清除 Redis 的策略如果有频繁的更新对导致缓存层(Redis) 会失效, 大量的请求会打到 mysql 上面,mysql 可能直接被打爆,造成严重的事故.这时候Redis 的数据是错误的,会导致后面查询的时候全部查询到错误的数据(只能重新加载 MySQL 数据到 Redis 才能恢复)

2026-03-30 02:55:47 280

原创 【MySQL — 数据库基础】深入理解数据库服务与数据库关系、MySQL连接创建、客户端工具及架构解析

4.1 什么是SQLSQL(Structured Query Language)是结构化查询语言的简称,是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库。我们知道MYSQL是关系型数据库,这时候需要通过MYSQL来存储数据,我们对数据库的所有的操作该如何进行呢?我们如何操作数据库呢?首先,我们需要明确一点,数据库是用来保存数据的;那么操作数据库,就要使用工具/语言,就是SQL;

2026-03-28 12:25:26 241

原创 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 233

原创 Nginx 请求转发配置指南

Nginx 是一款高性能的 HTTP 和反向代理服务器,也是一个 IMAP/POP3/SMTP 代理服务器。本文档将介绍如何使用 Nginx 配置请求转发,并解释一些常用的配置参数。通过这份文档,技术同事可以了解如何配置 Nginx 进行请求转发,并能熟悉几个关键配置项的用途。以下是一个基本的 Nginx 请求转发配置示例,它会监听服务器的某个端口,并将请求转发到指定的目标服务器。在配置之前,确保你的系统已经安装了 Nginx。:指定要将请求转发到的后端服务器。:定义 Nginx 如何处理指定路径的请求。

2026-03-27 13:15:36 177

原创 JAVA (Springboot) i18n国际化语言配置

在Java中,国际化(Internationalization,通常简称为i18n)是一个过程,它允许应用程序适应不同的语言和地区设置,从而能够支持全球用户。Java平台为国际化提供了强大的支持,包括Locale类、ResourceBundle类以及用于格式化日期、数字和货币的类。

2026-03-27 09:10:28 191

原创 SpringBoot读取properties中文乱码解决方案

在IDEA中将所有的编码设置为UTF-8,同时勾上Transparent native-to-ascii conversion的选项,然后重新创建application.properties的文件。由于业务需求需要在application.properties中配置一个带有中文字符串的参数,注入到业务类中,但是发现注入的中文是乱码的。就是将application.properties的文件修改为application.yml的结构,重启项目。

2026-03-26 13:44:34 135

原创 Springboot 整合 Quartz(定时任务框架)

Quartz是 OpenSymphony 开源组织在 Job scheduling 领域又一个开源项目,完全由 Java 开发,可以用来执行定时任务,类似于 java.util.Timer。持久性作业 - 就是保持调度定时的状态;作业管理 - 对调度作业进行有效的管理;

2026-03-26 12:49:48 300

原创 Spring Boot整合Redisson的两种方式

Redis是一个开源的内存数据库,支持多种数据类型,如字符串、哈希、列表、集合和有序集合等,常用于缓存、消息队列、计数器、分布式锁和搜索等应用场景。Redisson则是一个基于Redis实现的Java驻内存数据网格,提供了一系列分布式的Java常用对象和多种锁机制,以及分布式服务,使开发者能更集中于处理业务逻辑。Redisson不支持字符串操作、排序、事务、管道、分区等Redis特性,但Redisson 提供了许多其他功能,如分布式闭锁、分布式计数器、分布式信号量等。

2026-03-26 11:54:56 208

原创 Nginx中如何配置WebSocket代理?

通过上述配置,Nginx 可以作为 WebSocket 代理,将客户端的 WebSocket 连接转发到后端服务器。这些配置确保了 WebSocket 连接的正确性和稳定性。如果你有更具体的问题或需要进一步的技术细节,请随时告诉我。

2026-03-26 04:31:20 37

原创 Java进阶13 线程池

ThreadPoolExecutor类。

2026-03-26 01:25:34 366

原创 SpringBoot实现异步调用的方法

方法优点缺点。

2026-03-25 23:14:04 264

原创 spring-ai 下载不了依赖spring-ai-openai-spring-boot-starter

【代码】spring-ai 下载不了依赖spring-ai-openai-spring-boot-starter。

2026-03-25 22:29:21 143

原创 redis清理缓存

到这里就清除缓存完毕了,不需要重启redis,不过值得注意的是,你们服务器的缓存数据是否重要,是否可以全部清除,一定要确定清楚了以后才执行清空缓存的命令,如果不确定能不能清除,最好先确定了以后才清楚,否则不要轻易清除。如果你们的项目用到redis啦,虽然设置了过期时间,但有时候修改bug,仍然需要及时清空缓存,去读数据库的数据,所以这篇文章讲解如何清除redis的缓存。到这里就清除完毕,不需要重启,不过大家要注意,你们服务器的缓存数据是否重要,是否可以清除,一定要确定清楚,否则不要轻易清除。

2026-03-25 16:02:37 161

原创 node.js卸载并重新安装(超详细图文步骤)

1、Node.js下载网址2、一路点击next3、安装到本地位置,按需求自行更换安装路径(建议不做修改默认C盘)4、不需要选择或更换,默认安装,直接next,它会自动添加系统变量。5、点击Install,进入如下图所示的Node.js install进度界面6、出现以下界面安装完成7、我们使用Windows+R快捷键,输入cmd进入命令行界面,验证安装是否成功:8、以上node的环境已经安装完成,npm包管理器也有了。

2026-03-25 14:48:24 145

原创 搞定mysql的 行转列(7种方法) 和 列转行

一、行转列1、使用case…when…then2、使用SUM(IF()) 生成列3、使用SUM(IF()) 生成列 + WITH ROLLUP 生成汇总行4、使用SUM(IF()) 生成列,直接生成汇总结果,不再利用子查询5、使用SUM(IF()) 生成列 + UNION 生成汇总行,并利用 IFNULL将汇总行标题显示为 Total6、动态查询列值不确定的情况7、合并字段显示:group_concat()二、列转行————————————————即将原本同一列下多行的不同内容作为多个字段,输出对应内容。

2026-03-25 00:01:52 252 1

原创 Windows版Redis本地后台启动

① 在 redis 的安装目录中,打开 redis.windows.conf 文件。开始之前先启动redis服务,然后再用 redis-cli 打开一个redis客户端程序。③ 复制一行,修改成你要设置的密码(例如:requirepass 123456)现在,你就可以通过以下命令来启动Redis本地后台服务了。这行命令的作用是将Redis安装为Windows服务,右击电脑->管理->服务和应用程序->服务。这行命令的作用是启动Redis服务,// 查看当前设置的密码。// 输出你修改的密码。

2026-03-24 13:50:45 404

原创 SpringBoot集成Netty实战:构建高效TCPUDP通信服务端【物联网开发必备】

您将掌握如何设计自定义的通信协议,包括数据包的结构和字段定义,以及如何确保数据的完整性和命令的明确性。

2026-03-24 02:32:11 223

原创 SpringBoot SpringCloud spring framework 版本对应

spring-boot版本 依赖springframework jdk版本 发布时间。兼容Spring Boot 1.3.x,也兼容Spring Boot 1.4.x。兼容Spring Boot 1.4.x,也兼容Spring Boot 1.5.x。兼容Spring Boot 1.5.x,不兼容Spring Boot 2.0.x。兼容Spring Boot 2.0.x,不兼容Spring Boot 1.5.x。spring-boot和springframework、jdk的版本关系。

2026-03-23 16:52:09 144

原创 Spring Data 什么是Spring Data 理解

Spring Data的使命是为数据访问提供熟悉且一致的基于Spring的编程模型,同时仍保留底层数据存储的特殊特性。它使数据访问技术,关系数据库和非关系数据库,map-reduce框架和基于云的数据服务变得简单易用。这是一个伞形项目,其中包含许多特定于给定数据库的子项目。这些项目是通过与这些激动人心的技术背后的许多公司和开发人员合作开发的。: 致力于减少数据访问层(DAO)的开发量。开发者唯一要做的,就只是声明持久层的接口,其他都交给Spring Data JPA 来帮你完成!

2026-03-23 16:20:04 274

原创 Spring Boot+Vue项目从零入手

1、创建Springboot项目,勾选Lombok(简化java代码的插件)、web——Spring Web(相当于SpringMVC)、sql——MyBatis Framework+MySql Driver。再配置tomcat的地方点+,选择npm,下方选择vue的package.json,下方run的下一格写serve。创建好项目后先启动,确认项目可以正常运行,再将vue整个拖入Springboot项目中。1.打开cmd窗口,进入准备建立vue项目的文件夹,通过。检测安装成功的方法:vue -V。

2026-03-23 15:46:48 198

原创 RabbitMQ 的介绍与使用

消息队列(Message Queue,简称MQ),从字面意思上看,本质是个队列,FIFO先入先出,只不过队列中存放的内容是message而已。其主要用途:不同进程Process/线程Thread之间通信。那么为什么会产生消息队列呢?有几个原因:不同进程(process)之间传递消息时,两个进程之间耦合程度过高,改动一个进程,引发必须修改另一个进程,为了隔离这两个进程,在两进程间抽离出一层(一个模块),所有两进程之间传递的消息,都必须通过消息队列来传递,单独修改某一个进程,不会影响另一个;

2026-03-23 10:36:46 413

原创 Mysql convert函数、convert用法、字符串转数字、字符串转日期、类型转换函数

CAST() 和 CONVERT() 都可以更改 MySQL 中的数据类型。主要区别在于 CONVERT() 还可以将数据的字符集转换为另一个字符集。convert(expr,type)语法与 CAST(expr AS type)是等效的,所以支持的数据类型也是一致的,可以直接参考。将 value 转化为 NCHAR (类似 CHAR, 但生成一个具有国家字符集的字符串)将 value 转化为 SIGNED (有符号的 64 位整数)将 value 转化为 CHAR 类型 (固定长度的字符串)

2026-03-23 02:44:03 301

原创 如何在树莓派部署Nginx并实现无公网ip远程访问内网制作的web网站

相比其他 Web 服务器,Nginx 的内存占用率非常低,可以在树莓派等资源受限的设备上运行。要注意的是,以上步骤使用的是随机临时地址,该公网地址24小时内会随机变化。打开浏览器,我们来测试一下访问配置成功的二级子域名,出现nginx欢迎界面表示成功,可以正常访问。然后打开在线隧道列表,查看创建隧道的公网地址,默认有两种访问方式,一种是http 另一种是https,复制http地址。,可以看到nginx隧道的公网地址,已经更新为二级子域名了,将公网地址复制下来。,找到需要配置二级子域名的隧道,点击右侧的。

2026-03-22 12:23:24 315

原创 十八,Spring Boot 整合 MyBatis-Plus 的详细配置

MyBatis-Plus 官网文档:https://baomidou.com/是一个MyBatis的增强工具,在 MyBatis 的基础上只做增强不做改变,为简化开发、提高效率而生。MyBatis puls (简称 MP) 是一个Mybatis 的增强工具,在 MyBatis 的基础上只做增强不做改变,为简化开发,提供效率而生。内置通用Mapper,通用 Service,通过少量配置即可实现单表大部分的CRUD操作,更有强大的条件构造器,满足各类使用需求。

2026-03-22 11:42:45 457

原创 从 SQL 语句到数据库操作

在 MySQL 中创建一个新的数据库时,会在文件系统上为该数据库创建一个对应的目录。这个数据库通常包含了与该数据库相关的、所有表的数据文件、索引文件、以及其它文件。: 用于定义或修改数据库中的结构,如:创建、修改、删除数据库对象。删除表中的一个字段时,该字段及其对应的所有数据都将被永久删除。不同的存储引擎可能会以不同的方式组织这些文件。: 用于添加、删除、更新数据库中的数据。

2026-03-22 11:02:00 301

空空如也

空空如也

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

TA关注的人

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