- 博客(80)
- 收藏
- 关注
原创 Spring Boot 整合 Keycloak
本文介绍了如何如何设置了 Keycloak 服务器,以及如何在 Spring Boot 中使用 Spring Security OAuth2.0 结合 Keycloak 实现认证和授权。
2026-04-04 05:31:05
301
原创 mysql数据被误删的恢复方案
STATEMENT: 表示使用语句模式(statement-based replication),在这种模式下,可能会丢失一些数据,因为它仅记录执行的SQL语句。ROW: 表示使用行模式(row-based replication),这是推荐的设置,因为它提供了更好的数据一致性。数据误删是一个严重的数据库管理问题,但通过合理的备份策略和使用适当的恢复工具,可以有效地减少数据丢失的风险。如果log_bin的值为ON,则表示binlog已经开启;数据丢失:只能恢复到最后一次备份的时间点,之后的数据无法恢复。
2026-04-04 02:31:19
317
原创 springboot3整合knife4j详细版,包会!(不带swagger2玩)
针对RequestMapping的接口请求类型,在不指定参数类型的情况下,如果不过滤,默认会显示7个类型的接口地址参数,如果开启此配置,默认展示一个Post类型的接口地址。是否开启界面中对某接口的版本控制,如果开启,后端变化后Ui界面会存在小蓝点。是否开启一个默认的跨域配置,该功能配合自定义Host使用。是否在每个Debug调试栏后显示刷新变量按钮,默认不显示。调试Tab是否显示AfterScript功能,默认开启。类似于接口中的tag,对于自定义文档的分组。是否显示界面中"文档管理"功能。
2026-04-02 07:33:58
365
原创 PHP使用CURL发送POST请求方法总结(API对接必备)
java RSA2 加密、解密 、签名和验证签名 https://blog.csdn.net/TaLinBoy/article/details/106124535。IOS:RSA2 加密、解密 、签名和验证签名 https://blog.csdn.net/TaLinBoy/article/details/106140526。详细请参考:https://blog.csdn.net/guyongqiangx/article/details/74930951。而验证签名使用的是公钥。// 对认证证书来源的检查。
2026-04-02 04:17:21
331
原创 MyBatis-Plus 自定义 SQL 和复杂查询
MyBatis-Plus 是 MyBatis 的增强版,提供了许多开箱即用的 CRUD 操作。然而,在实际项目中,开发者常常需要编写自定义 SQL 以处理更复杂的查询需求。MyBatis-Plus 提供了灵活的机制,允许开发者通过注解或 XML 自定义 SQL,同时也能支持复杂查询、动态 SQL 等高级操作。
2026-04-02 01:00:20
220
原创 InvalidConfigDataPropertyException Property ‘spring.profiles.active‘ imported from...SpringBoot
错误原因,SpringBoot版本所致,配置语法有变化。
2026-04-01 23:10:18
8
原创 智能生成ER图工具。使用 SQL 生成 ER 图:让数据库设计更高效
ER 图(Entity-Relationship Diagram)是一种用于表示数据库结构的图示工具。它通过“实体”和“关系”两大元素的抽象,展示了数据表之间的关系。实体(Entity):数据库中的表,每个实体代表一个数据表。属性(Attribute):表中的字段或列。关系(Relationship):表与表之间的联系,通常以一对多或多对多的形式表示。通过使用 SQL 自动生成 ER 图,您可以大幅提升数据库设计的效率,并确保结构的准确性。
2026-04-01 19:45:23
285
原创 华为数据中心CE系列交换机级联M-LAG配置示例
同时“Causation”的状态是“-”,Node 1的“Port State”状态为“Up”,Node 2的“Port State”状态为“Up”,且Node 1和Node 2的M-LAG状态均为“active”,表明M-LAG的配置正确。在配置M-LAG之前,我们需要确认交换机的型号是否支持M-LAG,如数据中心交换机CE58、CE68、CE88、CE98等等交换机都支持M-LAG技术。通过以上配置步骤,就可以在华为CE交换机上成功配置M-LAG,提高网络的可靠性和稳定性。1,配置SwitchA。
2026-04-01 05:42:39
339
原创 yum安装redis
如果你没有配置密码,那这个时候你可以使用了,如果配置了密码,还需要授权密码才能使用。如果没有你所需要的版本,那建议你用二进制压缩包方式安装redis。输入info可查看redis信息。
2026-04-01 02:37:26
150
原创 Springboot-配置文件中敏感信息的加密:三种加密保护方法比较
本文介绍三种方式。我们可以自定义加解密算法来实现数据的加解密,这里采用AES算法。工具类的代码省略。建议用第三种方式,因为这种加密算法可以自定义,并且不需要把加解密的秘钥放到配置文件里,即便有人拿到配置文件,也无法得到真实的密码,更加的安全。而且第三种方式对业务代码没有侵入,也不需要特定引入第三方库和配置其他东西。
2026-03-31 05:56:07
234
原创 Node.js实现WebSocket教程
WebSocket是一种在单个TCP连接上提供全双工通信的协议,允许服务器和客户端之间进行实时、双向通信。本教程将详细讲解如何在Node.js中实现WebSocket。
2026-03-31 02:43:20
169
原创 MySQL 8.0版本JDBC驱动Jar包
本仓库提供了MySQL 8.0版本的JDBC驱动Jar包。此驱动程序专为与MySQL数据库8.0及以上版本交互设计,确保了对最新数据库特性的全面支持,包括窗口函数、JSON操作增强等,并优化了性能和安全性。通过使用这个MySQL 8.0 JDBC驱动,你可以确保你的应用与现代数据库技术保持同步,享受高性能和新功能带来的优势。如果有任何使用上的疑问,欢迎查阅官方文档或社区讨论。: 点击仓库中的下载链接获取最新的JDBC驱动Jar包。: 实例化Connection以与数据库建立连接。
2026-03-30 11:54:35
267
原创 Java进阶知识-反射
而mMainThread对象是ActivityThread类型,该类是我们的主线程类,里面有有一个mInstrumentation成员变量,该成员变量属于Instrumentation类型。应用中所有的Activity都继承自一个BaseActivity基类,基类中实现一个startActivity方法,在该方法之前加上一句打印,那么所有startActivity的地方都调用基类中的方法。通过反射,可以获取某个类中的所有方法,包括private,public,protect类型的方法。
2026-03-30 11:08:02
223
原创 HDFS的架构优势与基本操作
如今,数据正以指数级增长,各行各业都在追求更多的数据存储、高效的数据处理和可靠的数据基础来驱动业务的发展。Hadoop Distributed File System(HDFS)作为Hadoop生态系统的核心组件之一,成为构建可靠的大数据基础的不二选择之一。本文将深入剖析HDFS的架构与优势。HDFS(Hadoop分布式文件系统)是Apache Hadoop框架的一部分,设计用于存储和处理大规模数据集的分布式文件系统。HDFS产生的背景主要是为了满足处理大规模数据的需求。
2026-03-30 10:21:26
355
原创 MySQL 批量删除海量数据的几种方法
可以将批量删除逻辑封装成存储过程,利用存储过程自动控制批量删除过程。方法适用场景优点缺点LIMIT分批删除需要简单分批删除逻辑简单,减少锁表时间需循环操作主键范围分批删除有连续主键的表高效,无偏移开销需手动指定范围自定义批量删除存储过程小批量删除自动化操作需要数据库支持存储过程临时表替换删除数据量非常大避免锁表,减少日志开销需要额外磁盘空间根据不同的业务场景和需求,选择合适的批量删除方式可以提高 MySQL 的删除效率,减少对数据库的影响。
2026-03-30 03:05:09
349
原创 【MySQL】MySQL升级
例:/usr/local/mysql80/bin/mysqld --defaults-file=/data/3306/my.cnf --user=mysql &MySQL的版本更新很快,新版本中往往包含了很多新功能,并且解决了很多旧版本中的BUG,因此在很多情况下用户需要对数据库进行升级。,如果升级到一个比较新的版本,可能会在不知不觉中在你的环境中引入bug或引起性能问题,如果版本过旧,又会有一些旧版本中的BUG。mysql-shell工具,8.0以后,可以调用这个命令,升级之前的预检查。
2026-03-28 12:35:57
199
原创 Springboot3 Mybatis-plus 3.5.9
{"age": 20, "intro": "佛系青年", "gender": "male"}@Data。
2026-03-28 08:27:09
260
原创 Nginx代理到https地址忽略证书验证配置
当proxy_ssl_server_name设置为on时,Nginx会在与后端服务器建立SSL/TLS连接时,使用请求头中的Host字段值作为SNI(Server Name Indication)的一部分。这意味着每次Nginx与后端服务器建立连接时,都会进行完整的SSL/TLS握手过程,这可能会增加延迟和服务器负载。如果proxy_ssl_server_name未设置或设置为off,Nginx将不会使用Host头部值作为SNI的一部分,这可能会导致SSL/TLS握手失败,特别是当后端服务器期望SNI时。
2026-03-27 13:26:07
228
原创 java学习进阶之路,如果从一个菜鸟进阶成大神
诞生不过二十余年的Java语言凭借其跨平台、面向对象、适合于分布式计算的特性,广泛应用于Web网站、移动设备、桌面应用中,并且已经连续多年稳居TOBIE编程语言排行榜前列,最近更是登上冠军宝座。File及相关类,字节流InputStream和OutputStream,字符流Reader和Writer,以及相应缓冲流和管道流,字节和字符的转化流,包装流,以及常用包装类使用。图的深度优先搜索、图的广度优先搜索、拓扑排序、Dijkstra算法(单源最短路径)、霍夫曼编码、辗转相除法、最小生成树等。
2026-03-27 09:20:50
194
原创 Springboot项目中线程池使用整理
Spring环境:优先使用@Bean配置ThreadPoolTaskExecutor全局异步配置:实现AsyncConfigurer接口特殊性能要求:使用private static final方式。
2026-03-26 13:53:21
328
原创 SpringBoot3+Springdoc:v3api-docs可以访问,html无法访问的解决方法
pom.xml引用如下(springdoc相关的只有这一个,理论上说,要跑springdoc或者叫它swagger3,除了springboot,加这个就可以了,不需要任何配置类配置、application.properties/yaml配置!spring配置类里配一下swagger-ui的资源路径,然后访问/swagger-ui/index.html就好了。访问(我配的端口是18080):localhost:18080/swagger-ui/index.html。(当然,你跑通了之后需要自定义配置了再配)
2026-03-26 12:59:06
209
原创 Spring Boot:Java开发的神奇加速器(二)
除了使用 Spring Boot 提供的默认配置项和常用配置项外,我们还可以根据项目的业务需求自定义配置属性,并将其注入到 Java 类中使用。1.在配置文件中定义自定义属性:首先,在application.properties或application.yml文件中添加自定义的配置属性。myapp.custom.name=Spring Boot自定义配置示例myapp:custom:name: Spring Boot自定义配置示例value: 1232.创建 Java 类来接收配置属性。
2026-03-26 12:03:56
353
原创 Nginx权限问题详解及解决方案
在运行Nginx服务器时,权限问题是一个常见的困扰,尤其是在Linux环境下。权限配置不当可能导致Nginx无法启动、无法访问某些目录或文件,甚至影响到网站的正常运行。本文将深入探讨Nginx权限问题的原因,并提供有效的解决方案。Nginx在运行时,会以指定的用户身份执行。默认情况下,Nginx使用nginx用户(或www-data用户在某些系统中)运行。如果Nginx尝试访问的文件或目录的权限设置不正确,或者Nginx运行的用户没有足够的权限,就会出现权限问题。
2026-03-26 04:40:08
201
原创 SpringBoot 3.x 整合swagger
对于SpringBoot而言,Swagger的作用是通过后端SpringBoot代码快速生成接口文档,方便测试接口以及前端使用。
2026-03-25 22:36:43
376
原创 Redis队列和阻塞队列
普通的redis队列,为了实现业务,通常会使用while进行循环,这样的话没有消息时依旧会频繁的执行循环,造成cpu的空转,所以一般会在代码中增加sleep来解决该问题,但因此又会造成消息延迟问题。使用 BRPOP 这种阻塞式方式拉取消息时,还支持传入一个「超时时间」,如果设置为 0,则表示不设置超时,直到有新消息才返回,否则会在指定的超时时间后返回 NULL。redis队列提供了 “阻塞式” 拉取消息的命令:BRPOP / BLPOP,这里的 B 指的是阻塞(Block)。下面是某业务完整的消费者代码。
2026-03-25 16:11:20
25
原创 org.springframework.security.access.AccessDeniedException 不允许访问
检查我的WebSecurityConfigurerAdapter子类SecurityConfigWithoutUserDetail。org.springframework.security.access.AccessDeniedException: 不允许访问。* 捕捉AccessDeniedException,spring security抛出的无权限访问的异常信息。发现,我自定义的myAccessDeniedHandler类没有调用。测试spring security的权限校验功能时,
2026-03-25 14:57:11
181
原创 “mysqld --initialize --console ”执行不成功情况总结和解决措施
系统变量已被废弃,并且在 MySQL 9.1.0 中不再支持。配置文件中不需要设置这个变量,因为 MySQL 9.1.0 默认使用的是。确保数据目录 data文件夹 是空的。如果该目录中存在文件,您需要删除它们,或者将这些文件移动到其他位置,然后再次尝试初始化。如果您不希望删除数据目录中的文件,您可以考虑指定一个新的空目录作为数据目录,并在初始化命令中使用。在 MySQL 8.0 及以上版本中,
2026-03-24 14:06:44
15
原创 SpringBoot项目集成ONLYOFFICE
随着互联网技术的发展,越来越多的企业和个人开始寻求高效的在线文档处理解决方案。传统的本地文档编辑软件虽然功能强大,但在多用户协同工作方面存在诸多不便。为了满足这一需求,市场上涌现出了许多优秀的在线文档编辑工具,其中OnlyOffice因其出色的性能和灵活的集成能力而受到广泛好评。本文将详细介绍如何在Spring Boot项目中集成OnlyOffice,实现文档的在线编辑功能,并分享OnlyOffice的产品特点和用户体验。
2026-03-24 02:57:24
188
原创 springboot+mybaties项目中扫描不到@mapper注解的解决方法
当使用@Autowired注解的时候,其实默认就是@Autowired(required=true),表示注入的时候,该bean必须存在,否则就会注入失败。两者的区别是@ComponentScan是定义包扫描的规则,设置扫描包的路径,然后根据定义的规则找出哪些需类需要自动装配到spring的bean容器中,然后交由spring进行统一管理。给启动类添加@ComponentScan(“Mapper层路径”)或者@MapperScan(“Mapper层路径”),这样子可以自定义Mapper层的资源目录。
2026-03-23 17:01:40
174
原创 Spring 中使用Mybatis,超详细
UserMapper接口的作用是告诉mybatis您要对数据库执行那些操作。具体实现类由Spring AOP完成。其中执行的SQL语句可以通过Mappser.xml配置,也可以在这里使用注解配置。我这里仅定义了几个简单的增删改查。@Mapper@Results({@Result(property = "name", column = "nickname"), // 指定属性名和列名的映射关系})
2026-03-23 16:29:34
397
原创 Spring Boot实现多数据源连接和切换
在 Spring Boot 中实现多数据源连接和切换,可以通过以下几种方案来实现,具体取决于项目的需求、数据库的使用模式和管理的复杂性。以下是一个常见的多数据源切换的实现方案,使用 AbstractRoutingDataSource 来动态选择数据源。创建一个自定义注解,用于指定当前方法执行时需要使用的数据源。// 数据源标识,默认使用primary数据源数据源配置:为每个数据源配置DataSourceBean。动态数据源路由:使用来实现动态切换数据源。ThreadLocal存储:使用。
2026-03-23 15:56:30
228
原创 Redis 设置密码(配置文件、docker容器、命令行3种场景)
注意:通过命令设置密码后,为了防止下次服务重启后又变成没有密码,请注意配合以上 1、2 两种方式在服务重启后配置对应的密码。以上两种方法,都需要重启服务,如果是某些环境需求不允许停机 redis,则我们可以通过。或者直接使用 redis 桌面客户端工具连接 redis 后进入客户端命令行。如果你本地没有默认的 redis.conf 配置文件,可以从。来为 redis 设置密码,配置完后需要重启方可生效。如果 redis 是 docker 容器,可以使用命令。通过修改 redis.conf 配置文件中的。
2026-03-23 10:47:51
63
原创 MySQL 与 Redis 的数据一致性问题
简单来讲,我们只能保证先到的请求的第一阶段写的执行顺序(MySQL 内部的事务),第二阶段写就无法保证执行顺序(除非使用强一致性方案),这时候如果使用更新 Redis 的方案就有数据错误的风险。这种清除 Redis 的策略如果有频繁的更新对导致缓存层(Redis) 会失效, 大量的请求会打到 mysql 上面,mysql 可能直接被打爆,造成严重的事故.这时候Redis 的数据是错误的,会导致后面查询的时候全部查询到错误的数据(只能重新加载 MySQL 数据到 Redis 才能恢复)
2026-03-23 02:54:08
342
原创 完美解决phpstudy安装后mysql无法启动
数据库无法启动有以下几个原因。**一、**自己在电脑上安装了MySQL数据库,MySQL的服务名为MySQL,这会与phpstudy的数据库的服务名发生冲突,从而造成phpstudy中的数据库无法启动,这时我们只需要将自己安装的MySQL的服务名改掉就行。但是!!!不建议,太麻烦了,还要重新装因为我还有在web开发,删了就导致原有数据丢失,太麻烦了。
2026-03-22 12:32:06
74
原创 图文详述:MySQL的下载、安装、配置、使用
参考一:https://blog.csdn.net/weixin_39289696/article/details/128850498。系统变量中,选中 Path 变量,点编辑,在新弹出来的编辑环境变量中点击新建,填入。我们这里选第二个(包含32位和64位安装包,会自动适配),下载到本地后进行安装。win+r 打开运行窗口,输入cmd,点回车,进入命令行窗口,输入。注意:这里编辑的是系统变量中的 Path 变量,不是用户变量中。如果出现黄色感叹号警告,表示名称重复了,可自行更换其他名称。
2026-03-22 11:51:20
390
原创 使用 MySQL 从 JSON 字符串提取数据
通过上述 SQL 查询,我们成功地从一个包含 JSON 字符串的字段中提取了数据并转换成了另一种结构化格式。这种方法展示了 MySQL 在处理 JSON 数据方面的灵活性和强大能力。在实际应用中,您可以根据具体的需求对查询进行适当的修改,以适应不同结构的 JSON 数据。此外,了解 SQL 中字符串处理和聚合函数的使用,对于提升数据处理的能力和效率至关重要。希望本篇文章对您在处理 JSON 数据时有所帮助!
2026-03-22 11:10:26
342
原创 Windows 11 如何配置node.js
安装后在node_global下的node_modules目录下有express即为安装成功。4.鼠标右键此电脑-属性-高级系统设置-环境变量,新建NODE_PATH变量,如下所示。下载最新LTS版本,比较稳定,如果想探索更新的版本去探索新的nodejs功能。1.配置全局包、全局日志,打开安装目录,在该目录下新建两个文件夹。7.如果npm安装一直转圈,或者失败可以查看当前使用的。1.下载完成后,双击运行程序,点击next。3.使用如下命令查看设置结果,如下所示。5.不勾选自动安装工具,直接next。
2026-03-22 04:13:47
166
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅