Spring Boot 从入门到精通:掌握现代化后端开发
文章平均质量分 87
本专栏面向 Java 初学者、在校学生及希望快速上手企业级开发的工程师,系统讲解 Spring Boot 从零基础到高阶实战的完整技术栈。内容由浅入深,层层递进,涵盖:
✅ 快速入门:项目搭建、自动配置原理、Starter 机制、RESTful API 开发
✅ 核心整合:MyBatis / JP
龙茶清欢
人生百年,终归尘土;心有所向,纵死不虚。人生的意义,不是被赋予的,而是在一次次选择中锻造出来的。
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Spring Boot/Spring Cloud 应用日志书写详细指南
本文详细介绍了Spring Boot/Spring Cloud应用的日志规范指南,主要内容包括: 日志框架选择与配置:推荐使用Spring Boot默认的Logback或Log4j2,提供YAML配置示例 日志级别规范:详细说明TRACE/DEBUG/INFO/WARN/ERROR各级别的适用场景,并给出代码示例 日志内容规范:强调结构化日志格式,展示业务日志和异常日志的标准写法,推荐JSON格式用于微服务 日志上下文信息:介绍使用MDC(Mapped Diagnostic Context)添加请求追踪信息原创 2025-11-20 23:05:38 · 334 阅读 · 0 评论 -
Spring Boot 3 文件上传下载与 Excel 导入导出完整指南
本文介绍了Spring Boot 3中实现文件上传下载与Excel导入导出的完整方案。主要内容包括:1)项目依赖配置,添加Spring Boot Web、Hutool工具包和EasyExcel等必要依赖;2)应用配置文件设置,配置文件上传大小限制和存储目录;3)统一响应结果封装类设计;4)文件上传下载控制器实现,包含基础文件操作和Excel处理功能。该方案提供了完整的文件管理解决方案,可满足常见业务需求。原创 2025-10-27 23:01:51 · 1048 阅读 · 0 评论 -
Spring Boot 3 中实现文件上传、下载以及 Excel 导入导出
Spring Boot 3 文件操作指南:使用 Apache POI 和 Spring Web MVC 实现文件上传下载及 Excel 导入导出。通过 SpringDoc OpenAPI 3 提供 API 文档支持,包含生产级配置和详细注释。关键实现包括:Maven 依赖配置(Spring Web、Apache POI、SpringDoc)、文件大小限制设置、文件控制器(上传/下载逻辑)以及 OpenAPI 注解规范。支持.xlsx格式处理,采用UUID生成唯一文件名确保安全,提供完整的异常处理和响应封装。原创 2025-10-27 23:01:04 · 1023 阅读 · 0 评论 -
使用的 Spring Boot 3 的 SpringApplicationRunListener 实现自定义 Banner Starter 启动器
📝 Spring Boot 3 自定义 Banner Starter 实现方案摘要 本项目实现了一个支持动态配置的 Spring Boot Starter,可在应用启动时替换默认 Banner。核心特性包括: 1️⃣ 自动加载:通过 spring.factories 注册 SpringApplicationRunListener,在日志输出前优先打印自定义 Banner 2️⃣ 灵活配置:支持通过 application.yaml 配置 Banner 内容、类型(TEXT/FIGLET/IMAGE)、版本原创 2025-10-20 00:07:07 · 848 阅读 · 0 评论 -
Spring Boot `SpringApplicationRunListener` 深度系统性学习与实战完整文档
Spring Boot 3 SpringApplicationRunListener 核心摘要(145字) SpringApplicationRunListener 是Spring Boot启动流程的底层监听器,通过Java SPI机制注册(META-INF/spring/org.springframework.boot.SpringApplicationRunListener)。它在容器初始化前介入启动过程,提供7个关键生命周期方法(从starting到failed),比ApplicationListen原创 2025-10-19 23:18:22 · 752 阅读 · 0 评论 -
Java 后端开发中代码执行时间测量权威指南
以下是生成的150字摘要: Java代码执行时间测量规范指南 本文系统对比StopWatch、System.nanoTime和currentTimeMillis三种时间测量工具的核心差异与适用场景。StopWatch适合开发阶段的多任务结构化分析,nanoTime用于高精度基准测试,currentTimeMillis仅用于获取时间戳。文档明确禁止在生产环境使用StopWatch监控性能,推荐采用Micrometer+Prometheus方案。包含标准使用示例与决策树,帮助开发者根据场景选择合适工具,避免常见原创 2025-10-18 10:42:00 · 1029 阅读 · 0 评论 -
Spring Boot Starter Test 完整使用指南
《Spring Boot Starter Test 企业级测试指南》摘要: 该指南是专为Java后端开发者设计的Spring Boot测试最佳实践手册。核心内容包括: 1️⃣ 组件说明:spring-boot-starter-test是Spring官方测试依赖聚合器,整合JUnit5、Mockito、AssertJ等主流工具,提供开箱即用的测试能力。 2️⃣ 核心价值:统一团队测试配置,避免依赖冲突;支持单元测试与集成测试;提升CI/CD稳定性。 3️⃣ 关键注解: @SpringBootTest:启动完整原创 2025-10-16 23:03:58 · 922 阅读 · 0 评论 -
Java 及 Spring 生态中常用注解的分类整理
本文整理了Java及Spring生态中常用的注解分类,涵盖Spring核心、Spring MVC、Spring Boot等模块。主要内容包括:1)JSR标准注解如@Resource、@PostConstruct等;2)Spring核心注解如@Component、@Autowired等;3)Spring MVC注解如@RestController、@RequestMapping等;4)Spring Boot注解如@SpringBootApplication。每个注解都附有简明中文说明,便于开发者快速查找和使用原创 2025-10-16 20:20:39 · 1020 阅读 · 0 评论 -
企业级数据归档系统完整说明文档(Java 后端视角)
企业级数据归档系统说明(Java后端) 摘要 本文档针对Java后端开发者详细阐述了企业级数据归档系统的核心要点。数据归档是将不频繁访问但需保留的业务数据从主库迁移至低成本存储的过程,区别于数据删除。归档的必要性体现在:提升数据库性能(查询耗时从4.2s降至180ms)、降低存储成本(节省60%以上)、满足合规要求等。 文档将归档分为5种类型,推荐"状态+时间"双因子归档策略。自动归档功能通过定时任务实现无人值守,避免人工操作风险。核心功能包括规则配置、分页处理、一致性校验、异步迁移等8原创 2025-10-16 00:01:41 · 325 阅读 · 0 评论 -
开关管理系统实现方案全景指南 —— 企业级 Java 微服务选型与落地实战
《开关管理系统实现方案全景指南》为Java开发者提供五种主流实现方案对比,重点分析硬编码(禁用)、配置中心(Nacos/Apollo基础方案)、专用平台(LaunchDarkly推荐)、自研系统及轻量注解方案的原理、代码示例与适用场景。核心标准包括低延迟、高可用、动态生效等7大生产环境必备特性,给出不同规模团队选型建议:初创团队用Nacos,中大型企业推荐LaunchDarkly或自研系统,强调硬编码方式严禁用于生产。指南包含详细Java代码示例(如Spring Boot+Nacos实现)及中文注释,帮助开原创 2025-10-15 20:11:51 · 636 阅读 · 0 评论 -
开关管理系统(Feature Toggle / Feature Flag System)—— Java 后端企业级实战指南
摘要:本文为Java开发者提供《开关管理系统(Feature Toggle/Feature Flag)企业级实战指南》,详解其作为"功能遥控器"的核心价值。系统通过可视化平台实现动态控制功能模块的启用/禁用,支持灰度发布(按用户/设备/地域等维度)、快速回滚(5秒生效)和A/B测试,解决传统开发中需重新部署代码、无法精准控制功能暴露范围的问题。文档包含完整功能清单(开关注册/灰度策略/实时监控/权限控制等)、与接口管理系统的协同关系(接口定义行为,开关控制可用性),并给出Java代码示例原创 2025-10-15 20:01:57 · 1153 阅读 · 0 评论 -
Java 后端团队接口管理规范模板 + Spring Boot + Apifox 自动注册集成指南
Java后端接口管理与自动化集成方案 本文提供了一套完整的Java后端团队接口管理规范及Spring Boot与Apifox自动化集成方案。主要内容包括: 接口管理规范: 强制命名标准(HTTPS协议、版本号、资源路径等) 详细的文档编写要求(Javadoc+OpenAPI注解) 严格的生命周期管理流程(含审批流程图) 接口变更通知模板(系统自动发送) 技术实现方案: Spring Boot集成SpringDoc自动生成OpenAPI文档 CI/CD流程自动同步文档到Apifox平台 变更通知与下线管理机制原创 2025-10-14 21:41:05 · 914 阅读 · 0 评论 -
接口管理系统(API Management System)—— Java 后端开发实战指南
Java 接口管理系统实战指南摘要 本文为 Java 后端开发者提供接口管理系统(AMS)的完整指南,涵盖核心概念、功能模块及实战建议。主要内容包括: 系统定义:AMS 是企业级 API 治理中枢,集注册、发布、监控、安全等功能于一体,超越传统文档工具。 核心价值: 消除信息孤岛,统一管理所有接口 提升团队协作效率,降低沟通成本 实现接口安全可控与质量保障 提供实时监控与灰度发布能力 关键功能: 全生命周期管理(注册/下线/版本控制) 自动化文档生成与变更通知 调用监控与权限控制 灰度发布与流量管理 Jav原创 2025-10-14 21:35:41 · 1162 阅读 · 0 评论 -
Spring Boot 启动后执行器深度指南:CommandLineRunner vs ApplicationRunner
Spring Boot 启动后任务执行指南:CommandLineRunner vs ApplicationRunner 核心摘要 Spring Boot 提供了两种在应用启动后执行初始化任务的接口: CommandLineRunner 接收原始字符串数组参数(String[] args) 适用于简单参数处理场景 执行时机:应用上下文刷新后,服务就绪前 ApplicationRunner(推荐) 封装参数为ApplicationArguments对象,支持选项/非选项参数解析 提供更强大的参数处理能力(如-原创 2025-10-14 20:41:42 · 644 阅读 · 0 评论 -
Spring Boot 监听器深度对比:SpringApplicationRunListener vs ApplicationListener / @EventListener
Spring Boot 监听器对比:SpringApplicationRunListener vs ApplicationListener 核心区别 SpringApplicationRunListener 是 Spring Boot 框架层监听器,在 ApplicationContext 创建前执行,通过 SPI 机制加载,无法注入 Spring Bean。适用于启动前配置和环境初始化等场景。 ApplicationListener/@EventListener 是 Spring 容器层监听器,在 App原创 2025-10-14 20:25:40 · 996 阅读 · 0 评论 -
Spring Boot 事件机制四大核心应用场景实践指南
Spring Boot 事件机制核心应用场景实践指南 摘要:本文详解Spring Boot事件机制在生命周期管理和业务场景中的四大应用,包含工业级代码示例。重点关注:1)启动时数据初始化(通过ApplicationReadyEvent实现缓存预热);2)环境配置校验(强制验证关键配置);3)其他核心场景。采用事件驱动解耦设计,确保发布者与消费者分离,监听器单一职责。所有示例均适配Spring Boot 3.x+JDK17+环境,代码含详尽中文注释,可直接用于生产开发。特别强调ApplicationReady原创 2025-10-14 20:19:29 · 394 阅读 · 0 评论 -
Spring Boot 事件监听机制完整开发指南
Spring Boot 事件监听机制开发指南 摘要:本文全面介绍Spring Boot的事件监听机制,基于观察者模式实现发布-订阅模型。核心组件包括ApplicationEvent、ApplicationListener、ApplicationEventPublisher和ApplicationEventMulticaster。文章详细解析了Spring Boot的生命周期事件触发顺序,从容器初始化前的ApplicationStartingEvent到应用关闭的ApplicationClosedEvent。原创 2025-10-14 20:15:22 · 666 阅读 · 0 评论 -
RestClient:Spring Web 同步 HTTP 客户端权威说明文档
RestClient是 Spring 6.1 引入的现代、流畅(fluent)、同步、类型安全的 HTTP 客户端,用于替代已弃用的。它基于(Apache HttpClient 5)构建,提供链式 API、自动编解码、响应体直接映射、异常统一处理,专为同步阻塞式应用(如 Spring MVC、传统微服务)设计。项目RestClient是否推荐用于新项目✅✅✅ 必选❌ 禁止是否已弃用❌(官方推荐)✅(API 风格✅ 现代 Fluent 链式❌ 传统方法名繁多类型安全✅ 编译期检查❌ 运行时校验。原创 2025-10-13 23:56:50 · 659 阅读 · 1 评论 -
WebClient:Spring WebFlux 响应式 HTTP 客户端权威说明文档
WebClient:Spring响应式HTTP客户端权威指南 本文全面介绍Spring WebFlux中的WebClient,它是构建高性能微服务架构的关键工具。作为RestTemplate的替代品,WebClient具有非阻塞、响应式和函数式编程特性,支持HTTP/2、WebSocket和流式传输。 核心特点包括: 完全非阻塞,基于Netty实现高并发 与服务端共享编解码器 原生支持流式处理和背压控制 提供声明式API和操作符组合能力 与阻塞式RestTemplate相比,WebClient在并发能力、线原创 2025-10-13 23:51:29 · 810 阅读 · 0 评论 -
Flux 与 Mono:Spring WebFlux 响应式编程的核心类型详解
Flux与Mono是Spring WebFlux响应式编程的核心类型,分别表示0-N个元素的异步序列和0-1个元素的异步结果。Mono适用于单值操作(如CRUD),Flux适合多值场景(如列表查询、流式推送)。它们遵循响应式流规范,支持背压和非阻塞处理。正确使用Flux/Mono能避免线程阻塞,实现高并发和低资源消耗。关键操作包括map、flatMap、switchIfEmpty等,需避免使用block()等阻塞方法。本文通过详细代码示例展示了它们在CRUD和流式场景中的标准用法,帮助开发者构建真正的非阻塞原创 2025-10-13 23:41:21 · 843 阅读 · 0 评论 -
JDK 21 虚拟线程(Virtual Threads)对 Spring MVC 与 Spring WebFlux 的影响深度说明文档
摘要 JDK 21虚拟线程(JEP 444)通过轻量级用户态线程(内存占用仅500B,创建微秒级)实现阻塞式代码的非阻塞性能。对Spring MVC是革命性提升:无需修改代码即可支持10万+并发,吞吐量提升10倍+(15,000 req/s),内存消耗降低99%。Spring Boot 3.1+通过spring.web.threads.virtual=true即可启用。 对Spring WebFlux,虚拟线程虽技术可行但强烈不推荐:与响应式设计哲学冲突,增加调度开销且无性能增益。WebFlux本就能用少量原创 2025-10-13 22:26:23 · 857 阅读 · 0 评论 -
Spring MVC(阻塞同步)和 Spring WebFlux(非阻塞异步)编程模型生活场景类比
摘要: 本文用餐厅服务模式类比Spring MVC和WebFlux两种Web编程模型。Spring MVC如同传统餐厅,每个服务员(线程)全程服务一位顾客(请求),存在资源浪费和扩展性差的问题。Spring WebFlux则像智能餐厅,通过一个调度员(事件循环线程)异步处理所有请求,实现高并发和资源高效利用。文章通过生活化场景(电话查询、快递配送等)进一步说明两者的差异,建议根据实际业务需求选择:简单业务用MVC,高并发场景用WebFlux。技术选型关键在于"恰到好处"而非盲目追求新技术原创 2025-10-13 22:18:00 · 606 阅读 · 0 评论 -
Spring Boot 中 Spring Web (MVC) 与 Spring WebFlux 对比说明文档
以下是文章摘要: Spring Web MVC与WebFlux深度对比指南(2025版) 本文系统对比了Spring生态中两种Web框架的核心差异。Spring MVC基于Servlet API采用同步阻塞模型,适合低并发、CPU密集型场景;WebFlux基于响应式流实现非阻塞异步,擅长高并发I/O密集型任务。性能测试显示WebFlux在千级并发下吞吐量可达MVC的3-4倍,内存消耗降低50%。文档包含两大核心对比维度:线程模型(线程池vs事件循环)、编程范式(命令式vs响应式),并附有带中文注释的代码示例原创 2025-10-13 22:11:26 · 884 阅读 · 0 评论 -
基于 Spring Cloud Stream 函数式编程模型的架构升级聊天系统
本文介绍了使用Spring Cloud Stream重构消息广播模块的实践方案。传统RabbitMQ监听方式存在业务耦合、配置繁琐等问题,而Spring Cloud Stream提供了函数式编程模型、统一接口和自动序列化等优势。升级后,可通过声明式函数(如Consumer<ChatMessage>)处理消息,简化代码并提高扩展性。配置文件中通过定义输入/输出通道实现消息绑定,支持集群部署和自动重试机制。该方案不仅降低了与特定消息中间件的耦合度,还提升了系统的测试性和可维护性。原创 2025-10-10 00:24:17 · 846 阅读 · 0 评论 -
基于 Spring Boot + WebSocket + RabbitMQ + Redis 的企业级实时聊天系统(含消息历史与时间戳智能提示)
本文介绍了一个基于Spring Boot的实时聊天系统架构设计。系统采用WebSocket+STOMP协议实现实时双向通信,结合Redis存储消息历史和在线用户状态,使用RabbitMQ实现集群消息广播。系统支持JWT认证、消息持久化、历史记录查询和智能时间戳提示等功能。架构采用分层设计,包含客户端、服务端和中间件三层,通过Redis的有序集合(ZSET)存储消息并支持分页查询,同时利用SockJS确保浏览器兼容性。系统具有高可用性,适合多节点部署场景。原创 2025-10-10 00:00:58 · 487 阅读 · 0 评论 -
WebSocket 全面深度技术文档:原始协议、SockJS 模拟与 STOMP 发布/订阅体系
WebSocket 是一种基于 TCP 的全双工、持久化网络协议,由 IETF 标准化为 RFC 6455。它通过 HTTP 升级机制建立连接,支持文本和二进制数据传输,具有低延迟、低开销的特点。核心特性包括全双工通信、持久连接、最小 2 字节数据帧等。WebSocket 解决了 HTTP 在实时通信中的缺陷,适用于聊天、股票行情、在线游戏等场景。其交互流程包括 HTTP 握手升级和二进制帧消息传递,帧结构包含 FIN、Opcode、掩码等字段。示例展示了 JavaScript 原生 WebSocket A原创 2025-10-09 23:43:33 · 445 阅读 · 0 评论 -
WebSocket 详细技术文档:原理、作用、特点与 HTTP 对比
WebSocket 是一种基于 TCP 的全双工通信协议,支持持久连接和双向实时数据传输,相比 HTTP 具有更低延迟和更高效能。它通过 HTTP 升级机制建立连接后,客户端和服务器可以随时互相推送数据,无需重复握手。WebSocket 特别适合实时聊天、股票行情、在线游戏等需要高频双向通信的场景,能大幅减少带宽消耗和服务器负载(相比 HTTP 轮询降低 90%以上)。虽然 WebSocket 性能优越,但它并非要替代 HTTP,而是互补存在,HTTP 仍适用于传统的请求-响应式交互。WebSocket 的原创 2025-10-09 23:38:32 · 623 阅读 · 0 评论 -
Spring Boot Starter WebSocket 详细说明文档
Spring Boot Starter WebSocket 是一个用于快速集成WebSocket协议的自动配置启动器,封装了Spring框架的WebSocket功能。它支持STOMP消息协议,可实现股票行情、在线聊天等实时双向通信场景。该文档详细介绍了WebSocket与STOMP的区别、主要功能应用场景,并提供了一个完整的实时聊天室开发示例,包含项目结构、Maven依赖配置和WebSocket配置类说明。通过简单的注解配置如@EnableWebSocketMessageBroker,开发者可以快速建立We原创 2025-10-09 23:30:33 · 307 阅读 · 0 评论 -
Redis-Stack 与 Redis-Stack-Server:核心区别与选择指南
本文提供了Spring Boot 3集成Redis高可用方案的完整实现指南,包含两种模式:Sentinel哨兵模式和Cluster集群模式。文章详细说明了项目结构、Maven依赖配置、YAML配置文件、Redis配置类实现(支持自定义序列化)、服务层代码示例以及测试方法。其中,Sentinel模式通过Lettuce客户端自动连接哨兵集群,无需手动指定主节点;Cluster模式则通过配置节点列表实现自动拓扑发现。两种方案均采用Jackson进行JSON序列化,保留了类型信息,并包含连接池优化配置。适用于Spr原创 2025-10-07 22:13:10 · 1050 阅读 · 0 评论 -
Spring Boot 应用启动组件加载顺序与优先级详解
Spring Boot应用启动时组件加载顺序和优先级机制详解:关键机制包括@DependsOn(强制依赖顺序)、@Order/Ordered(执行顺序)、@AutoConfigureBefore/After(自动配置类顺序)、@Conditional*(条件化加载)和构造器注入(依赖驱动顺序)。其中@DependsOn优先级最高,可强制指定Bean初始化顺序;@Order影响执行顺序但不影响创建顺序;自动配置类通过@AutoConfigureBefore/After控制加载顺序;条件注解决定是否加载组件;依原创 2025-09-25 22:58:51 · 1056 阅读 · 0 评论 -
@Valid 和 @Validated 两个数据校验的关键注解的区别和使用
Spring Boot 项目中 @Valid 和 @Validated 的区别: 来源:@Valid 是 JSR 标准注解,@Validated 是 Spring 扩展注解 功能:@Valid 仅支持基础校验和级联校验;@Validated 额外支持分组校验和方法参数校验 使用场景: @Valid 适合简单请求体校验(如 @RequestBody)和嵌套对象校验 @Validated 适合分组校验(如区分新增/更新)、Service 层校验及非对象参数校验(@RequestParam) 级联校验:两者都支持原创 2025-09-26 00:55:05 · 524 阅读 · 0 评论 -
数据校验(Validation) 常用的数据校验注解及其作用
本文介绍了Spring Boot中利用Bean Validation进行数据校验的常用方法。主要包含:1)常用校验注解一览表,如@NotBlank、@Size等;2)用户注册DTO示例,展示各类字段校验规则;3)嵌套对象校验的实现;4)Controller层校验处理方式。重点说明了字符串、数值、集合、时间等类型的校验技巧,并推荐使用全局异常处理器优化校验流程,确保接口参数合法性和系统健壮性。适用于需要规范输入验证的Spring Boot项目开发。原创 2025-09-26 00:56:35 · 330 阅读 · 0 评论 -
3、Spring Boot 3 嵌套配置绑定实战示例
本文介绍了Spring Boot中如何通过@ConfigurationProperties实现多层嵌套配置绑定,通过一个企业级消息推送服务的配置案例进行演示。配置结构包含多平台开关、嵌套对象、列表、Map等复杂类型,支持校验注解和IDE提示。核心要点包括: 根配置类使用@ConfigurationProperties绑定前缀 嵌套对象通过@Valid和@NestedConfigurationProperty实现校验和元数据支持 支持列表配置(如短信通道)和Map配置(如邮件模板) 结合@Descriptio原创 2025-09-27 11:59:26 · 719 阅读 · 0 评论 -
2、Spring Boot 3 自定义 Starter 常用注解详解
Spring Boot 3 自定义 Starter 核心注解指南 本文系统梳理了 Spring Boot 3 自定义 Starter 开发中的关键注解及其应用场景: @Configuration - 标记自动配置类,用于定义 Starter 的核心配置 @Bean - 声明由 Spring 管理的组件,注册服务或工具类 @ConditionalOnProperty - 实现配置开关功能,根据属性决定是否加载 @ConditionalOnMissingBean - 避免与用户自定义 Bean 冲突,实现可覆盖原创 2025-09-27 11:59:12 · 675 阅读 · 0 评论 -
1、Spring Boot 3 自定义 Starter 开发完整指南
Spring Boot 3 自定义 Starter 开发指南 本文将介绍如何创建一个名为 my-spring-boot-starter-greeting 的 Spring Boot 3 自定义 Starter,提供一个可配置的问候语服务。主要内容包括: 项目目标:创建一个支持 YAML 配置、自动装配的问候语服务 项目结构规划 Maven 项目配置(支持 JDK21) 核心代码实现(服务接口、实现类) 该 Starter 将支持通过 application.yaml 配置问候语格式,并自动提供 Greeti原创 2025-09-27 11:58:57 · 629 阅读 · 0 评论 -
对于正常的 RESTful 请求响应(非异常),统一的 API 响应体结构,应该在哪里完成?
文章摘要 在微服务架构中,统一RESTful响应体结构的正确实现位置是每个微服务的Controller层,通过返回Result<T>类型确保格式一致性(包含code/message/data/timestamp)。这种方案优于网关层统一处理,原因包括: 职责分离:网关仅负责路由和异常拦截,业务层自主管理响应格式 性能优势:避免网关解析/重组JSON带来的额外开销 灵活性:不同服务可扩展业务字段(如订单号、分类等) 可维护性:单元测试直接验证Result<T>结构,Swagger文档自原创 2025-09-27 11:55:47 · 688 阅读 · 0 评论 -
SpringDoc + Knife4j的配置参考示例
Spring Boot 3 集成 SpringDoc OpenAPI + Knife4j 配置摘要 本文提供企业级生产可用的application.yml完整配置,包含: SpringDoc核心配置 启用OpenAPI 3接口(/v3/api-docs) 原生Swagger UI路径(/swagger-ui.html) 包扫描规则(支持多模块指定/排除) 全局Header参数(如自动添加Authorization) Knife4j增强功能 中文界面(language: zh-CN) 文档导出支持(HTML/原创 2025-09-27 11:53:32 · 875 阅读 · 0 评论 -
一个完整、生产级、大厂风格的根 pom.xml 参考示例
完整生产级POM配置要素:除基础配置外,大厂项目通常包含项目元信息(名称/描述/许可证)、组织架构(开发者/贡献者)、SCM源码管理、CI/CD集成、仓库管理(依赖/发布)、多环境Profile配置等。关键元素包括<licenses>声明许可证、<scm>关联代码仓库、<distributionManagement>配置发布路径、<profiles>实现环境隔离,以及<repositories>定义镜像仓库。这些配置完善项目信息,支持自动化构建发布原创 2025-09-27 11:35:04 · 450 阅读 · 0 评论 -
3、推荐统一使用 ResponseEntity<T> 作为控制器返回类型
企业级微服务登录响应设计指南 LoginResponse 设计要点 核心结构:必须包含 token、用户基础信息、有效期等关键字段 安全原则:禁止返回密码、手机号等敏感信息 推荐字段: JWT token 用户基本信息(ID、用户名、昵称、头像、角色) 有效期 expiresIn 可选的刷新令牌 refreshToken ResponseEntity 使用建议 强烈推荐统一使用 ResponseEntity<T> 作为控制器返回类型 优势: 精确控制HTTP状态码和响应头 更清晰的API文档和异原创 2025-09-26 00:58:09 · 747 阅读 · 0 评论 -
数据校验(Validation)实现全局异常处理 + 国际化 + @Valid 三位一体方案
本文详细介绍如何在Spring Boot项目中构建完整的输入校验体系,通过结合@Valid参数校验、国际化消息和全局异常处理器,实现高内聚、低耦合的校验方案。主要内容包括:项目结构设计、Maven依赖配置、国际化资源文件定义(支持中英文)、数据传输对象(DTO)的校验注解使用,以及嵌套对象校验的实现。该方案可自动校验接口参数,返回结构化错误信息,并支持多语言提示,适用于企业级应用开发。原创 2025-09-26 00:57:14 · 1023 阅读 · 0 评论
分享