自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 两种办法解决响应体时间类型显示问题

本文介绍了两种解决Java后端返回时间格式不标准。方法1使用@JsonFormat注解,简单但需要为每个时间字段添加注解。方法2通过扩展消息转换器实现全局配置:1)在WebMvcConfiguration中设置扩展消息转换器;2)自定义JacksonObjectMapper,配置LocalDateTime等类型的序列化格式。该方法统一处理所有时间类型转换,推荐作为项目级解决方案。

2025-08-26 01:21:19 382

原创 阿里云OSS文件上传_对象存储服务全流程

阿里云OSS是一款安全可靠、低成本的云存储服务,适用于存储各类文件。本文介绍了OSS的核心优势:可扩展性、数据持久性、成本效益和简化管理,并重点讲解了图片上传等典型场景的接入流程。详细步骤包括开通OSS服务、创建Bucket、配置权限、集成Java SDK、编写上传工具类等,最后通过示例演示了文件上传功能。文章为开发者提供了从零开始接入OSS的完整指南,适合需要快速实现云存储功能的项目参考。

2025-08-25 22:38:52 1490 1

原创 SpringBoot项目通过自定义注解根据请求头注入用户会话信息_企业级方案

本文介绍了一种通过自定义注解@UserSession实现用户会话信息自动注入的方法。通过实现HandlerMethodArgumentResolver接口创建参数解析器,从请求头获取用户ID、姓名等信息,并使用建造者模式构建UserSessionInfo对象。该方案将用户会话信息处理逻辑从业务代码中抽离,业务方法只需添加注解即可自动获取会话信息,并通过ThreadLocal实现线程安全共享。

2025-08-20 00:36:43 1114

原创 SpringBoot项目配置国际化

本文系统介绍了Spring Boot项目中国际化的实现方案。通过MessageSource+LocaleResolver组合,将文案抽离到i18n资源文件,实现运行时自动切换语言。包括:1)创建i18n目录及多语言properties文件;2)配置basename指定资源文件前缀;3)改造响应体和异常码使用MessageSource获取消息;4)自定义LocaleResolver实现请求头语言解析;5)通过MessageUtils工具类实现消息动态切换。文章还预告了后续将实现的用户会话信息自动注入功能。

2025-08-19 00:32:32 1680

原创 SpringBoot项目企业级全局异常处理

本文介绍了SpringBoot项目中全局异常处理的实现方法,统一捕获并处理Controller层的异常。文章详细展示了业务异常类、通用错误码枚举的实现,以及全局异常处理器的代码示例。该方法能有效避免代码重复,统一异常响应格式。同时预告了后续将更新的国际化支持和用户会话信息自动注入功能,包括根据请求头语言返回不同响应消息,以及通过@UserSession注解自动注入用户信息的实现方案。

2025-08-18 00:04:09 1356

原创 SpringBoot项目自定义统一响应体设计_附上完整测试代码

文章摘要:本文详细介绍了自定义响应类Result的设计与实现,通过泛型支持多种数据类型返回,配合响应码枚举类ResultCodeEnum实现统一接口响应格式。提供了完整的Java代码示例,包括Controller、Service、Mapper等层级实现,演示了订单查询和保存接口。文章还预告了后续将更新的全局异常处理、国际化支持及用户会话自动注入功能,展示了如何通过@UserSession注解简化用户信息获取。

2025-08-17 19:23:57 1182

原创 SpringBoot热部署配置

本文介绍了如何使用Spring Boot DevTools实现热部署,避免频繁重启项目。通过在pom.xml中添加devtools依赖并配置自动编译选项,开发者可以即时看到代码修改效果。测试中,修改应用名称后无需手动重启,保存文件即可自动更新。

2025-08-15 01:50:41 474

原创 算法:leetcode_146_LRU 缓存

本文详细介绍了LRU(最近最少使用)缓存的设计与实现。通过双向循环链表和哈希表的结合,实现了O(1)时间复杂度的get和put操作。核心实现包括:1)使用双向链表维护访问顺序;2)利用哈希表实现快速查找;3)定义disconnect和pushFront方法维护链表结构;4)处理容量满时的淘汰策略。

2025-08-10 19:01:19 1102

原创 算法:leetcode_92_反转链表Ⅱ

本文介绍了如何实现LeetCode第92题"反转链表II",即在链表中局部反转从第left到第right位置的节点。文章通过图示和代码详细讲解了实现步骤, 并且预告了下一次要更新的题目:LRU缓存, 请观看吧, 么么哒!

2025-08-10 01:23:10 947

原创 算法:leetcode_206_反转链表

本文以幽默风格讲解链表反转算法,类比游戏角色技能帮助理解。核心思路是使用pre、cur、next三个指针:pre记录前驱节点(初始null),cur为当前节点(初始head),next暂存后继节点。关键步骤是:1)保存cur.next;2)将cur.next指向pre实现反转;3)pre和cur向后移动。循环直到cur为null时,pre即新链表头节点。文章提供了Java、C++、JS实现代码,并推荐链表打印工具辅助调试。通过生动比喻(如"领导head不干活")和详细注释,使反转链表这一

2025-08-07 03:18:15 1052

原创 算法:leetcode_113_路径总和Ⅱ

本文详细讲解了LeetCode 113题"路径总和II"的解法,这是112题的进阶版本。文章采用深度优先搜索(DFS)和回溯算法,重点介绍了如何记录所有满足条件的路径。特别强调了在将路径加入结果列表时需要创建新对象以避免引用问题。文章还分享了本地调试时使用的二叉树构造工具类,并通过debug过程展示了问题排查的思路。最终给出了完整的实现代码并成功提交力扣。

2025-08-03 21:22:36 1016

原创 算法:leetcode_112_路径总和

本文介绍了力扣112题"路径总和"的解题思路,采用回溯算法进行求解。作者建议将此题与129题"求根节点到叶节点数字之和"结合练习,并预告后续将更新进阶题目113题"路径总和II"的解法。全文以通俗易懂的方式讲解了回溯算法的应用,适合算法初学者学习

2025-08-03 18:35:24 955

原创 20分钟速刷十道二叉树层序遍历题

本文通过10道二叉树层序遍历题目,系统讲解了广度优先搜索(BFS)的核心思想与实现模板。

2025-07-31 01:00:44 716 4

原创 算法:leetcode_129_求根节点到叶节点数字之和

本文介绍了LeetCode第129题"求根节点到叶节点数字之和"的解题方法。题目要求计算二叉树中从根节点到所有叶子节点路径所表示数字的总和。文章采用递归回溯的方法,通过维护路径变量path和结果变量result,深度优先遍历二叉树。

2025-07-29 01:41:18 937

原创 打印节点(链表或者二叉树)工具

摘要:本文介绍了一个用于LeetCode刷题时打印链表和二叉树结构的Java工具类。该工具包含链表节点(ListNode)和二叉树节点(TreeNode)的定义类,以及一个PrintUtils工具类,可通过数组输入自动构建对应数据结构并格式化输出。工具支持两种数据结构类型:链表(0)和二叉树(1)。打印功能包括链表的箭头连接显示和二叉树的分层可视化输出,帮助开发者更直观地调试。并且本文给出了两种数据结构的做题演示。

2025-07-27 13:11:24 795 1

原创 算法:leetcode_5_最长回文子串

摘要:本文介绍了两种求解最长回文子串的方法:动态规划和中心扩散法。动态规划通过构建二维dp表记录子串状态,从下到上、从左到右遍历字符串,时间复杂度较高但思路清晰。中心扩散法则以每个字符(或相邻字符对)为中心向两边扩展寻找回文,更高效且代码简洁。

2025-07-27 01:58:20 1002 2

原创 shardingsphere实操

本文实操数据库分表框架shardingsphere入门示例。

2025-07-25 02:10:05 826 1

空空如也

空空如也

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

TA关注的人

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