Spring Boot

51 篇文章

Spring Boot 用一个接口搞定所有查询

2025-06-03 21:36 Spring Spring Boot Spring Data

如果你用过 Spring Boot,一定很熟悉“铁三角”:@Controller、@Service 和 @Repository。每加一个实体,通常就会有对应的 Controller 来处理 CRUD 和业务逻辑——至少对于同步操作来说如此。 创建 POST、PUT、DELETE 这些接口很简单:校验、业务逻辑一接,接口就能用了。 但 GET 呢? 来看一个简单的 Employee 实体:...

阅读全文

Spring Boot 3.x 中的 RestClient 使用案例

2025-05-30 21:36 Spring Spring Boot

RestClient 是 Spring Framework 6 引入的一个现代化、流式、类型安全的 HTTP 客户端,在 Spring Boot 3.2+ 中可用。它旨在替代较旧的 RestTemplate,更好地适应现代 HTTP 使用模式,并提供更简洁、直观的 API。 🔍 什么是 RestClient? RestClient 是构建在 Spring 的 WebClient...

阅读全文

升级到 Spring Boot 3.5,我们的云成本减少了 45%

2025-05-29 21:35 Spring Spring Boot

上个季度,我带着越来越焦虑的心情盯着我们公司的 AWS 账单。尽管服务的客户数量基本持平,但我们的云成本在过去一年里持续攀升。作为负责后端基础设施的技术负责人,我必须在下一个预算评审前找到解决方案。 !https://static.didispace.com/images3/b5055ecd75270da24431ee3d0fe82bd2.png 我没想到的是,一次看似例行的 Spring...

阅读全文

Spring Boot的Docker Layer优化:缩小镜像体积并提升启动速度

2025-05-17 21:31 Spring Spring Boot

容器化Spring Boot应用很简单,但低效的Docker镜像会导致部署臃肿、启动缓慢和安全风险。 本文我们将使用多阶段构建、Spring Boot的Layer工具和类数据共享CDS来优化Docker镜像,将体积缩小达60%,启动时间减少30%。 为什么要优化Docker Layer? 更小的镜像:加速CI/CD流程并降低云存储成本 更快的启动:对无服务和自动扩展环境至关重要...

阅读全文

使用Prometheus和Grafana监控Spring Boot应用

2025-05-16 21:30 Spring Spring Boot

在现代云原生应用中,指标数据是系统可观测性的命脉。它们能准确反映应用的健康状态是运行良好还是濒临崩溃。Spring Boot 结合 Prometheus 和 Grafana,构建了一套强大的指标采集、存储与可视化解决方案。 本文将指导您将Spring Boot应用打造成指标生成引擎,并构建令运维团队惊艳的监控仪表盘。 第一步:使用Micrometer和Prometheus导出指标 添加相关依赖...

阅读全文

这些 JVM 参数将 Spring Boot 应用性能提升了 300%

2025-05-14 21:50 Spring Spring Boot

当你的 Spring Boot 应用响应迟缓,且已采用缓存、数据库索引和异步处理优化后,下一个优化方向在哪里?我的答案是 JVM 本身。 经过性能分析和深入研究,我发现合理配置 JVM 参数可以带来显著的性能提升——在负载压力下实现高达 300% 的响应速度提升,且无需修改任何应用代码。 本文将详解: 实际采用的 JVM 参数配置 这些参数生效的原理 优化前后的基准测试对比 安全调优的实施方法...

阅读全文

WebClient第一次请求返回 Connection reset by peer 的错误

2024-07-18 21:54 Spring Spring Boot

我有一个需求,需要从外部系统获取用户数据。我通过 WebClient 实现的,作为声明性 HTTP 客户端的一部分。 有趣的是,在新的浏览器标签页中打开应用程序后,第一次请求返回了“Connection reset by peer”错误。 这个问题通过禁用对外请求的 keep-alive 解决了。 改造前的代码: java @Configuration public class...

阅读全文

Spring Boot中的 6 种API请求参数读取方式

2024-05-22 21:50 Spring Spring Boot

使用Spring Boot开发API的时候,读取请求参数是服务端编码中最基本的一项操作,Spring Boot中也提供了多种机制来满足不同的API设计要求。 接下来,就通过本文,为大家总结6种常用的请求参数读取方式。如果你发现自己知道的不到6种,那么赶紧来查漏补缺一下。如果你知道的不止6种,那么告诉大家,一起互相学习一下吧~ @RequestParam...

阅读全文

为什么不推荐在Spring Boot中使用@Value加载配置

2024-05-20 21:51 Spring Spring Boot

@Value注解相信很多Spring Boot的开发者都已经有接触了,通过使用该注解,我们可以快速的把配置信息加载到Spring的Bean中。 比如下面这样,就可以轻松的把配置文件中key为com.didispace.title配置信息加载到TestService中来使用 java @Service public class TestService {...

阅读全文

Spring Boot应用中如何动态指定数据库,实现不同用户不同数据库等场景

2024-04-26 21:53 Spring Spring Boot

当在 Spring Boot 应用程序中使用Spring Data JPA/spring-boot-2/4-4-spring-data-jpa.html 进行数据库操作时,配置Schema名称是一种常见的做法。然而,在某些情况下,模式名称需要是动态的,可能会在应用程序运行时发生变化。比如:需要做数据隔离的SaaS应用。 所以,这篇博文将帮助您解决了在 Spring Boot...

阅读全文