- 博客(96)
- 收藏
- 关注
原创 Java实战:Spring Boot实现WebSocket实时通信
本文详细介绍了如何在Spring Boot应用程序中实现WebSocket实时通信。我们首先了解了WebSocket的基本概念和特点,然后学习了如何使用Spring Boot和Spring WebSocket模块来实现WebSocket服务器和客户端。我们还通过具体的示例展示了如何在Spring Boot应用程序中配置和使用WebSocket,以及如何实现实时消息传递和群发消息等功能。通过本文,您应该已经掌握了如何使用Spring Boot实现WebSocket实时通信。
2026-01-07 22:19:08
393
原创 Go环境搭建(vscode调试)
如果出现go.tools.intall not found 可以重启一下VScode,确保path中go的bin目录配置正确。推荐使用moudle模式,这样三方包就在$GOPATH/pkg/mod目录下,可以允许有多个不同的版本,多个项目都可以共享。这就有点像Java的包管理模式了,不用每个项目都去处理GOPTH,也不需要每个项目都去下载相同的三方包了。go get和go intall下载的三方包就会安装到GOPATH中。我们下载的免安装版本,直接解压就可以。
2026-01-07 22:00:24
168
原创 docker安装redis
Docker 是一个开源的应用容器引擎,参考链接:【docker使用安装教程Redis 是一个开源的使用 ANSI C 语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value 的 NoSQL 数据库,并提供多种语言的 API。本文将介绍docker上安装redis容器的详细过程。
2026-01-07 21:40:58
562
原创 实操解决Navicat连接postgresql时出现‘datlastsysoid does not exist‘报错的问题
4、在文件中搜索“SELECT DISTINCT datlastsysoid”,并将其替换为“SELECT DISTINCT dattablespace”2、备份libcc.dll文件,将其复制并粘贴为“libcc.dll.bak”或任何其他名称。如果遇到任何安全问题,请将其另存为“.txt”文件,然后还原备份文件。6、重启navicat,可以发现,无论老和新版本的pgsql,都可以正常访问了。3、在任何十六进制编辑器中打开此文件,如果需要,您可以使用在线工具,例如。解决方法2:降级pgsql。
2025-12-01 22:30:15
175
原创 Sun Frame:基于 SpringBoot 的轻量级开发框架(个人开源项目)
Sun Frame 是我个人制作的一款基于 SpringBoot 的轻量级开发框架,专为中小型企业设计,旨在提供快速、简单、易扩展的开发体验。无论您是新手还是经验丰富的开发者,Sun Frame 都能帮助您加速项目构建。
2025-12-01 18:19:54
826
原创 SpringBoot有几种获取Request对象的方法
HttpServletRequest 简称 Request,它是一个 Servlet API 提供的对象,用于获取客户端发起的 HTTP 请求信息。例如:获取请求参数、获取请求头、获取 Session 会话信息、获取请求的 IP 地址等信息。那么问题来了,在 Spring Boot 中,获取 Request 对象的方法有哪些?常见的获取 Request 对象的方法有以下三种:通过请求参数中获取 Request 对象;通过 RequestContextHolder 获取 Request 对象;
2025-11-30 21:42:48
263
原创 Spring Boot 3.4 正式发布,结构化日志!
通过将注入到@Bean方法中来定义动态属性的功能已被弃用,现在默认会导致失败。替代方法是实现一个单独的@Bean方法,返回一个,此方法应注入属性值来源的容器。这种方式解决了一些容器生命周期问题,并确保属性值来源的容器在属性被使用之前已经启动。如果仍希望注入(需承担可能的生命周期问题),可以将设置为warn或allow。前者会记录警告但允许注入,后者则会完全恢复 Spring Boot 3.3 的行为。在类型匹配时,基于 Bean 的条件现在会忽略非默认候选 Bean。
2025-11-30 19:02:38
873
原创 Nginx 常用命令和部署详解及案例示范
如果有错误,则会给出具体的错误信息和所在的配置文件行数。在数据分析系统中,Nginx 可以用作静态文件服务器和反向代理,以提高系统的性能和安全性。在实际开发中,我们可能需要实时更新 Nginx 提供的静态资源。在修改了 Nginx 配置文件后,需要重启 Nginx 以使更改生效。在高并发场景中,优化 Nginx 的性能是非常重要的。创建一个 HTML 文件夹,并在其中添加一个简单的 HTML 文件。文件的内容,Nginx 会自动加载新的内容。这将列出所有 Nginx 相关的进程信息,包括主进程和工作进程。
2025-11-30 17:05:59
276
原创 MyBatis-Plus 自定义 SQL 和复杂查询
MyBatis-Plus 是 MyBatis 的增强版,提供了许多开箱即用的 CRUD 操作。然而,在实际项目中,开发者常常需要编写自定义 SQL 以处理更复杂的查询需求。MyBatis-Plus 提供了灵活的机制,允许开发者通过注解或 XML 自定义 SQL,同时也能支持复杂查询、动态 SQL 等高级操作。
2025-11-30 15:10:26
811
原创 Spring Cloud和SpringBoot版本对应关系?思维导图 代码示例(java 架构)
Spring Cloud 和 Spring Boot 的版本之间存在一定的对应关系,因为 Spring Cloud 依赖于 Spring Boot 提供的基础功能。通常情况下,每个主要版本的 Spring Cloud 都是与特定版本范围的 Spring Boot 兼容的。以下是截至2024年12月的最新版本信息和一个简化的关系图。
2025-11-29 20:17:58
207
原创 Nginx 常用命令和部署详解及案例示范
如果有错误,则会给出具体的错误信息和所在的配置文件行数。在数据分析系统中,Nginx 可以用作静态文件服务器和反向代理,以提高系统的性能和安全性。在实际开发中,我们可能需要实时更新 Nginx 提供的静态资源。在修改了 Nginx 配置文件后,需要重启 Nginx 以使更改生效。在高并发场景中,优化 Nginx 的性能是非常重要的。创建一个 HTML 文件夹,并在其中添加一个简单的 HTML 文件。文件的内容,Nginx 会自动加载新的内容。这将列出所有 Nginx 相关的进程信息,包括主进程和工作进程。
2025-11-29 17:35:26
241
原创 java进阶1——JVM
Java 虚拟机就是二进制字节码的运行环境,负责装载字节码到其内部,解释/编译为对 应平台上的机器码指令行,每一条 java 指令,java 虚拟机中都有详细定义,如怎么取操 作数,怎么处理操作数,处理结果放在哪儿。一次编译到处运行自动内存管理自动垃圾回收功能现在的 JVM 不仅可以执行 java 字节码文件,还可以执行其他语言编译后的字节码文件,是一 个跨语言平台.
2025-11-29 14:56:00
1072
原创 使用 Qt 插件和 SQLCipher 实现 SQLite 数据库加密与解密
SQLCipher是一个开源的扩展,提供了透明的 AES-256 加密功能,使得 SQLite 数据库文件的内容能够被加密和解密。通过将 SQLCipher 与 Qt 结合使用,开发者可以轻松地在 Qt 应用中实现数据加密,确保敏感信息的安全性。在实际应用中,建议进一步优化密码管理机制,避免将密码硬编码在代码中,可以考虑使用更安全的存储方式。此外,根据具体需求,您还可以探索 SQLCipher 提供的更多高级功能,如动态更改密码、密钥派生等。
2025-11-29 02:00:04
447
原创 Tomcat10下载安装教程
在环境变量里找到系统变量,点击新建,输入变量名JAVA_HOME和变量值(即jdk的安装路径)后,再点击确定。点击右边的新建,输入%JAVA_HOME%in,再点击确定。(右键)此电脑→属性→高级系统设置→高级→环境变量。在系统变量里找到Path,点击编辑,出现下图。找到jdk的安装路径 ,并复制。
2025-11-28 23:27:05
245
原创 Spring 中集成Hibernate
如果你需要做的事情无法通过Spring Data JPA来实现,那就必须要在一个比Spring Data JPA更低的层级上使用JPA。我们只需在必须使用较低层级JPA的方法上,才使用这种传统的方式即可,而对于Spring Data JPA知道该如何处理的功能,我们依然可以通过它来实现。我们可以看到,这里的动词是read,与之前样例中的find有所差别。有些时候,我们需要Repository所提供的功能是无法用Spring Data的方法命名约定来描述的,甚至无法用@Query注解设置查询来实现。
2025-11-28 20:41:12
369
原创 nginx中的proxy_set_header参数详解
proxy_set_header 是 Nginx 配置中用于设置代理请求 HTTP 头部的指令。当 Nginx 作为反向代理时,它允许自定义从客户端接收到的请求或添加新的请求头,然后将其转发到后端服务器。这对于维护 HTTP 协议的连贯性、安全性和功能性至关重要。X-My-Header 是一个自定义的请求头字段,用于存储自定义信息。上游服务器可以通过读取 X-My-Header 字段获取自定义信息。
2025-11-28 18:02:17
419
原创 java进阶1——JVM
Java 虚拟机就是二进制字节码的运行环境,负责装载字节码到其内部,解释/编译为对 应平台上的机器码指令行,每一条 java 指令,java 虚拟机中都有详细定义,如怎么取操 作数,怎么处理操作数,处理结果放在哪儿。一次编译到处运行自动内存管理自动垃圾回收功能现在的 JVM 不仅可以执行 java 字节码文件,还可以执行其他语言编译后的字节码文件,是一 个跨语言平台.
2025-11-27 10:53:04
400
原创 使用Kubernetes部署Spring Boot项目
这种类型的服务会在集群中的每个节点(Node)上开放一个指定范围(通常是 30000 - 32767)内的随机端口,外部客户端可以通过访问集群中任意节点的该随机端口来访问到服务背后的应用(这里就是。也就是说,从服务的 8080 端口接收到的流量会被转发到对应的 Deployment 所管理的 Pod 的 8080 端口上。在该 Maven 项目的 pom.xml 中添加以下配置,在 一行之前添加Spring Boot 相关的依赖及打包插件。当其他服务或 Pod 在集群内部要访问这个服务时,会使用这个端口。
2025-11-26 22:34:16
410
原创 【Spring Boot】统一数据返回
其实统一数据返回非常简单,在实现时要加入类注解@ControllerAdvice(这是一个表示控制通知的注解,在接下来的统一异常处理也要运用到),在添加类注解后还要在实现ResponseBodyAdvice接口,然后重写接口的responseAdvice接口和beforeBodyWriter方法即可实现。其实统一数据返回是运用了AOP(对某一类事情的集中处理)的思维,简单概括就是在我们进行前后端数据交互的时候,能够让后端的数据进行统一的打包封装,返回给前端,便于前后端的数据处理。
2025-11-26 21:25:43
296
原创 windows手动配置IP地址与DNS服务器以及netsh端口转发
在Windows系统中,配置主机的IP地址、子网掩码和网关地址可以通过以下步骤手动设置。这在某些情况下是必要的,例如当你需要确保网络接口使用特定的IP地址或网关时。
2025-11-26 20:16:07
334
原创 Spring容器初始化扩展点:ApplicationContextInitializer
是 Spring 框架提供的一个接口,用于在 Spring 应用上下文(刷新之前对其进行自定义初始化。它允许开发者在上下文加载 Bean 定义之前,对上下文进行一些额外的配置或修改。在上下文刷新之前,可以通过动态注册自定义的 Bean 定义。@Override// 创建自定义的 BeanDefinition是 Spring 框架中一个强大的扩展点,允许开发者在上下文刷新之前对其进行自定义初始化。通过合理使用,可以实现动态配置环境隔离自定义 Bean 注册等功能,从而更好地满足复杂的业务需求。
2025-11-26 19:06:08
231
原创 springboot与springcloud以及springcloudalibaba版本对照
由于 Spring Boot 2.4+ 和以下版本之间变化较大,目前企业级客户老项目相关 Spring Boot 版本仍停留在 Spring Boot 2.4 以下,为了同时满足存量用户和新用户不同需求,社区以 Spring Boot 2.4 为分界线,同时维护 2.2.x 和 2021.x 两个分支迭代。为了规避相关构建过程中的依赖冲突问题,我们建议可以通过 云原生应用脚手架 进行项目创建。2.0.4.RELEASE(停止维护,建议升级)1.5.1.RELEASE(停止维护,建议升级)
2025-11-26 17:55:43
382
原创 保姆级教程教你如何安装Hadoop,实现Hadoop单机(非分布式)配置
Hadoop 可以在单节点上以伪分布式的方式运行,Hadoop 进程以分离的 Java 进程来运行,节点既作为 NameNode 也作为 DataNode,同时,读取的是 HDFS 中的文件。运行例子:将 input 文件夹中的所有文件作为输入,筛选当中符合正则表达式 dfs[a-z.]+ 的单词并统计出现的次数,最后输出结果到 output 文件夹中。重新加载,等待加载完成,若加载失败,选择其他中国服务器,再进行加载。点击VM上边的编辑,选择虚拟网络编辑器,点击右下角的。
2025-11-25 16:39:28
399
原创 【SpringBoot】【log】 自定义logback日志配置
SpringBoot官方建议使用logback-spring.xml作为logback框架的自定义日志配置文件,使用logback-spring.xml而不是logback.xml,因为带-spring后缀的配置文件可以使用使用Spring扩展profile支持,提供profile多环境日志输出得功能。将所有日志都存储在一个文件中文件大小也随着应用的运行越来越大并且不好排查问题,正确的做法应该是将 error日志和其他系统输出日志分开,并且不同级别的日志根据时间段进行记录存储。
2025-11-25 15:29:35
271
原创 Y20030018基于Java+Springboot+mysql+jsp+layui的家政服务系统的设计与实现 源代码 文档
随着人们生活水平的提高,老龄化、少子化等多重因素影响,我国对家政服务人群的需求与日俱增。家政服务行业对我国的就业和社会效益贡献也与日俱增,但整体我国家政人才依旧紧缺,2021年人社部发布的第一季度"最缺工"职业前十中,家政服务行业占据两席。而高端家政服务人才更少。传统家政服务依靠人工管理模式,人工电话预约和接单、退单等服务项目处理,且服务项目种类较多,管理较混乱,无规矩不成方圆”,家政服务行业发展也要遵守“秩序”,才能健康发展。
2025-11-25 14:14:17
674
1
原创 spring注入static属性
(@PreDestroy 注解定义容器销毁之前的所做的操作)这种方式和在xml中配置 init-method和 destory-method方法差不多,定义spring 容器在初始化bean 和容器销毁之前的所做的操作;通过MethodInvokingFactoryBean工厂Bean,可以将指定方法返回值注入成为目标Bean的属性值,MethodInvokingFactoryBean用来获得指定方法的返回值,该方法可以是静态方法 也可以是实例方法。工具类一般都是静态方法,静态方法只能访问静态属性。
2025-11-25 13:02:43
267
原创 springboot三层架构详细讲解
Spring Boot 的三层架构指的是:1.表示层:这一层通常由 Controller 组成,负责处理 HTTP 请求和向用户展示信息。2.业务逻辑层:包含 Service 接口及其实现类(ServiceImpl),处理应用程序的核心业务逻辑。3.数据访问层:由 Mapper 接口和 Mapper.xml 文件组成,负责与数据库交互,执行 CRUD操作。Spring Boot架构通过其分层设计,提供了一种清晰、模块化的代码组织方式,使得应用开发更加灵活和可维护。
2025-11-25 11:38:05
553
原创 Spring Boot与MyBatis
Spring Boot是一个用于创建独立的、基于Spring的生产级应用程序的框架,它简化了Spring应用的初始搭建以及开发过程。MyBatis是一款优秀的持久层框架,它支持定制化SQL、存储过程以及高级映射。将Spring Boot和MyBatis结合使用,可以高效地开发数据驱动的应用程序。
2025-11-24 20:39:45
1029
1
原创 RabbitMQ HAProxy 负载均衡
前面我们学习了 rabbitmq 搭建集群,并且为了解决集群中队列的高可用问题,使用仲裁队列替代普通的队列,但是其实这里还有一个问题,就是我们在使用 Java 连接 rabbitmq 的时候,需要指定 rabbitmq 服务的 IP 和端口号,如果该端口号绑定的 rabbitmq 服务挂掉了,那么我们的 Java 程序是否还能够访问到呢?在RabbitMQ集群中,如果所有客户端都连接到同一个节点,该节点的网络负载会显著增加,而其他节点则可能处于空闲状态,造成资源浪费。
2025-11-24 19:29:45
1183
原创 MySQL--》如何在MySQL中打造高效优化索引
2)select_type:表示select的类型,常见的取值有simple(简单表,即不使用表连接或者子查询)、primary(主查询,即外层的查询)、union(union中的第二个或者后面的查询语句)、subquery(select/where之后包含了子查询)等。(有序),在数据之外数据库系统还维护着满足特定查找算法的数据结构,这些数据结构以某种方式引用(指向)数据,这样就可以在这些数据结构上实现高级查找算法,这种数据结构就是索引。
2025-11-24 14:11:48
586
原创 Java进阶总结——集合
说明:对于以上的框架图有如下几点说明1.所有集合类都位于java.util包下。Java的集合类主要由两个接口派生而出:Collection和Map,Collection和Map是Java集合框架的根接口,这两个接口又包含了一些子接口或实现类。集合接口:6个接口(短虚线表示),表示不同集合类型,是集合框架的基础。抽象类:5个抽象类(长虚线表示),对集合接口的部分实现。可扩展为自定义集合类。实现类:8个实现类(实线表示),对接口的具体实现。Collection 接口是一组允许重复的对象。
2025-11-24 13:01:29
793
原创 Spring Boot 整合 Druid 并开启监控
如果默认配置不能满足你的需求,你可以创建一个自定义的 Druid 配置类来覆盖默认设置。@Bean// 如果需要,可以在这里添加更多配置,如过滤器、拦截器等@Bean@Bean通过以上步骤,我们成功地在 Spring Boot 应用中集成了 Druid 数据库连接池,并开启了其监控功能。这不仅提高了数据库访问的效率,还为开发者提供了宝贵的调试和优化工具。希望这篇文章能够帮助你。
2025-11-23 06:03:02
716
原创 PostgreSQL版本选择
PostgreSQL 社区目前支持最新的三个主版本(每个版本的支持周期通常为 5 年)。如果项目需要最新功能(如性能改进或新特性),可以选择最新版本。PostgreSQL 官方会定期发布新版本,分为。具体选择应根据项目需求和运维策略确定!
2025-11-23 04:54:13
397
原创 MySQL配置my.ini文件
my.ini文件中存储了数据库的文件地址,数据库数据存储地址以及登录密码等基础信息。sc delete mysql(注意,这里的mysql是你的数据库服务名称,不知道怎么看的win+R后输入services.msc回车,就能在名称那一列找到你的mysql名称)显示成功后在管理(win+R回车后输入services.msc,回车)里看一下,如果数据库在管理中仍然存在,右键选择停止。数据库在管理中消失。我的mysql目录下不允许生成新文件,所以我在别的地方新建my.ini,编辑好后直接复制到存放的目录下。
2025-11-23 03:43:13
726
原创 MySQL 查看有哪些表
这两种方法都可以有效地列出指定数据库中的所有表。选择哪种方法取决于你的具体需求和偏好。命令行工具、MySQL Workbench 等)连接到你的 MySQL 服务器。是一个系统数据库,包含了关于所有其他数据库的信息。首先,你需要使用 MySQL 客户端工具(如。命令选择你要查看表的数据库。表来获取特定数据库中的表信息。
2025-11-23 02:33:59
175
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅