自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 14_Spring Boot 跨域(CORS)处理指南

本文系统介绍了Spring Boot处理跨域请求(CORS)的方法。主要内容包括:1)通过pom.xml查看Spring Boot版本;2)针对2.4以下版本,详细说明了使用CorsFilter和WebMvcConfigurer两种配置方式,特别强调携带Cookie时不能使用通配符*;3)针对2.4及以上版本,引入allowedOriginPatterns解决了通配符与Cookie的冲突问题;4)总结不同版本的最佳实践,指出高版本推荐统一使用WebMvcConfigurer或CorsFilter配置。文章还

2025-09-24 16:43:45 599

原创 13_图形验证码生成与校验实战

本文介绍了基于Hutool实现的图形验证码解决方案,主要包含以下核心内容: 实现思路:通过后端生成验证码图片和UUID,存入本地缓存,前端获取并提交验证码进行校验 技术实现: 使用Hutool的CaptchaUtil生成验证码图片 采用Caffeine作为本地缓存,设置3分钟有效期 将图片转为Base64格式返回前端 提供验证码生成和校验的完整工具类 注意事项: 针对Docker部署缺少字体的问题,提供了安装字体的解决方案 建议分布式环境下改用Redis存储验证码 该方案有效防止恶意请求,实现简单且易于集成

2025-09-24 15:39:39 236

原创 12_OkHttp初体验

本文介绍了在Spring Boot项目中集成和使用OkHttp HTTP客户端库的初体验。主要内容包括:1) 通过配置类将OkHttpClient注册为Spring Bean;2) 在application.yml中配置连接超时、连接池等参数;3) 提供了同步GET请求的示例代码;4) 分享了使用感受,认为OkHttp具有轻量级、高性能、灵活性强等特点,支持同步和异步请求。作者总结认为OkHttp简单易用性能强劲,适合需要大量HTTP调用的场景,并计划继续探索更多功能。

2025-09-23 20:51:00 339

原创 03_Integer.valueOf(5)和Integer.valueOf(‘5‘)的区别?

Java 中 Integer.valueOf("5") 和 Integer.valueOf('5') 的区别:前者解析字符串返回数字 5,后者返回字符 '5' 的 Unicode 编码 53。字符串 "5" 是对象类型,字符 '5' 是基本类型,Java 会自动将字符提升为 int 处理。若需将字符转为数字 5,可使用 Integer.valueOf(""+c) 或 c - '0'。理解字符串与字符的本质差异是关键。

2025-09-14 18:22:07 391

原创 11_Mybatis 是如何进行DO类和数据库字段的映射的?

其实,逻辑走到这里就一目了然了,mybatis 映射优先级从上至下依次排列,而且需要注意的是,如果是通过有参构造器进行映射,则会按照构造器参数顺序依次映射,如果结果集顺序,和有参构造器的参数顺序不一致,会导致映射失败。(无论是 Mybatis 自带方法,还是我们手写的方法,Mybatis都会生成代理对象)MyBatis 会生成一个代理对象,最终会调用到。这里会根据 SQL 类型(

2025-08-08 15:48:58 579

原创 10_状态机思想初体验

文章摘要:本文介绍了如何利用状态机思想处理多层级审核流程问题。当常规if-else语句导致代码冗长难维护时,采用有限状态机(FSM)模型可有效解决。FSM通过定义状态集合、触发事件和转移规则,确保审核流程有序流转。实现方案包括:创建完整审核节点链、更新节点状态时校验合法性、自动激活下一节点等核心功能,避免了无序状态跳转,保证了数据一致性和业务规范性。该方法适用于需要严格流程控制的审核场景。

2025-08-06 19:20:27 377

原创 10_Spring Boot 中的 @Scheduled 注解是单线程还是多线程?同步还是异步?

摘要:Spring Boot的@Scheduled注解默认是单线程同步执行的,多个定时任务会顺序执行,可能导致阻塞。可通过配置TaskScheduler、实现SchedulingConfigurer或修改配置文件实现多线程调度。若需异步执行,需配合@Async注解使用。三种线程池配置方式各有利弊,选择取决于具体需求。

2025-07-24 16:55:54 449

原创 09_两个事务方法在同一个方法内执行,如何保证第二个失败时第一个也回滚?

本文讲解了如何确保两个事务方法在同一个方法内执行时,第二个方法失败会导致第一个方法也回滚。核心解决方案包括:1) 在顶层方法声明事务,内部方法不单独声明;2) 使用编程式事务管理;3) 手动管理事务。关键注意点:事务传播行为默认是REQUIRED,避免同类自调用导致事务失效,确保异常能抛出触发回滚。通过合理的事务边界控制,可以实现多个操作的原子性。

2025-07-21 16:12:16 489

原创 09_Spring Boot 整合 Freemarker 模板引擎的坑

Spring Boot 整合 Freemarker 模板引擎

2025-07-21 15:34:41 323

原创 06_pt-table-sync 工具解决 MySQL 主从数据不一致

Percona Toolkit中的pt-table-sync工具用于修复MySQL主从数据不一致问题。使用前需安装Percona Toolkit并创建专用用户pt_user,赋予SELECT、PROCESS等权限。关键要求包括:主库binlog必须为ROW格式,从库信息需对主库可见。工具通过processlist或SHOW SLAVE HOSTS发现从库,若自动发现失败可使用DSN手动指定。校验结果存储在percona.checksums表中,需确保pt_user对该库有操作权限。该工具是解决MySQL主从

2025-07-15 16:47:57 526

原创 08_同时调用多个接口,部分接口慢,排查过程

多个接口同时调用部分接口响应缓慢的排查过程

2025-07-14 16:07:15 955

原创 [特殊字符] 05_Jenkins 部署前端项目实现自动化部署

Jenkins 前端项目自动化部署指南 本文介绍了使用 Jenkins 实现前端项目自动化部署的完整流程: 创建任务 - 新建 Freestyle project 任务 源码管理 - 配置 Git 仓库地址和凭据 Node环境 - 配置 Node.js 构建环境 构建脚本 - 添加 npm install/build 的 Shell 命令 文件传输 - 使用 Publish Over SSH 插件将 dist 目录部署到目标服务器

2025-07-10 14:45:20 524

原创 08_Excel 导入 - 用户信息批量导入

Excel 导入 - 用户信息批量导入

2025-07-02 19:38:41 249

原创 07_通过 Mybatis 自动填充记录的创建时间和更新时间

通过 MyBatis-Plus 自动填充记录的创建时间和更新时间

2025-07-01 19:50:16 351

原创 04_MySQL 通过 Docker 在同一个服务器上搭建主从集群(一主一从)

【代码】04_MySQL 通过 Docker 在同一个服务器上搭建主从集群(一主一从)

2025-06-30 20:00:26 337

原创 06_项目集成 Spring Actuator 并实现可视化页面

📝 项目集成Spring Actuator监控方案摘要本文介绍如何为Spring Boot项目集成Spring Actuator监控功能并实现可视化:1️⃣ 引入Actuator依赖,配置端点路径、暴露策略及详细信息展示2️⃣ 常见端点详解:/health健康检查、/info应用信息、/metrics性能指标等3️⃣ 通过spring-boot-monitor实现可视化监控页面4️⃣ 安全配置:集成Spring Security保护监控接口,设置账户权限控制关键配置包括端点路径自定义、启用详细

2025-06-12 16:31:20 666

原创 03_跨域问题解决

跨域问题及解决方案摘要:跨域是浏览器出于安全考虑实施的访问限制机制,当协议、域名或端口不同时触发。常见场景包括开发阶段本地调用测试接口、自定义请求头提交等。主流的跨域解决方案包括:1)开发阶段配置代理或修改浏览器设置;2)后端配置CORS,Spring Boot可通过全局WebMvcConfigurer、Filter或注解方式实现;3)SaToken框架提供专门的跨域处理配置。其中使用header头提交token的方案通用性最佳,推荐选择。生产环境建议精确配置allowedOrigins而非使用通配符,同

2025-06-09 15:19:38 909

原创 07_SpringBoot2集成Redis连接失败

SpringBoot2 集成 Redis 连接失败

2025-05-12 11:14:50 360

原创 05_项目集成飞书预警

Java 后端项目集成飞书预警

2025-05-08 17:21:38 585

原创 04_Excel导出及添加水印

Excel导出及添加水印

2025-05-07 16:02:22 212

原创 06_Mybatis-Plus LambadaQueryWrapper 表达式爆空指针异常

MyBatis-Plus LambdaQueryWrapper 爆出空指针异常的坑点分析

2025-04-30 15:00:48 384

原创 02_使用 AES 算法实现文件加密上传至阿里云、解密下载

使用 AES 算法实现文件加密上传至阿里云、解密下载

2025-04-28 16:51:47 499

原创 02_值相同、类型不同,用 equals() 比较为什么是 false?

值相同、类型不同,用 `equals()` 比较为什么是 `false`?

2025-04-27 18:56:39 610

原创 01_Long比较值 类型相同值不同

Long比较值 类型相同值不同

2025-04-27 18:01:09 490

原创 05_springboot配置properties文件后密码正确仍然爆密码错误

springboot配置properties文件后密码正确仍然爆密码错误

2025-04-21 10:38:02 347

原创 04_springboot配置properties文件后数据库连接爆Public Key Retrieval is not allowed

springboot配置properties文件后数据库连接爆Public Key Retrieval is not allowed

2025-04-21 10:28:39 428

原创 03_maven依赖下载不下来问题

maven依赖拉取失败

2025-04-21 10:09:32 474 1

原创 02_解决Class com.sun.tools.javac.tree.JCTree

版本,不建议手动指定Lombok版本。在启动 Spring Boot 项目时遇到了错误,原因是使用的Lombok版本 (1.18.26) 与当前JDK21不兼容。通过将JDK版本降为JDK17或提升Lombok至版本1.18.28及以上可解决问题。鉴于管理着依赖的版本,建议调整的版本以确保兼容性,而不是手动指定Lombok的版本。

2025-04-20 21:55:22 343

原创 01_Git 拉取远程仓库代码并上传

Git 拉取远程仓库代码并上传

2025-04-16 18:59:37 339

原创 01_手把手实现 Builder 模式创建对象

手把手实现 Builder 模式创建对象

2025-04-13 21:18:52 1035

原创 03_docker 部署 nginx 配置 HTTPS 并转发请求到后端服务

Docker 部署 Nginx 配置 HTTPS 并转发请求到后端服务

2025-04-07 11:20:14 1545 2

原创 02_使用Docker在服务器上部署Jekins实现项目的自动化部署

使用Docker在服务器上部署Jekins实现项目的自动化部署

2025-04-02 15:10:56 876

原创 01_使用Docker将Coding上项目部署到k8s平台

使用Docker将Coding上项目部署到k8s平台。

2025-04-01 18:27:49 691

原创 01 springboot集成mybatis后密码正确但数据库连接失败

yaml文件读取数字属性时先转化成Integer类型,但是对于Integer类型数字来说,0开头的数字则被解析为八进制,这也导致在连接数据库时密码错误而连接不上数据库。

2025-01-11 19:17:29 1456

原创 【力扣Hot100刷题日记】1-两数之和

给定一个整数数组nums和一个整数目标值target,请你在该数组中找出target的那整数,并返回它们的数组下标。你可以假设每种输入只会对应一个答案,并且你不能使用两次相同的元素。你可以按任意顺序返回答案。**进阶:**你可以想出一个时间复杂度小于O(n2)的算法吗?

2025-01-11 19:17:10 399

空空如也

空空如也

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

TA关注的人

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