首页 / 作者AUTHOR / SPRINGFORALL

hello

记录技术探索,分享实践心得。

共 1900 篇文章

Spring Boot 中批量插入数据的4种实现方式

1. 简介 批量插入是指将多条记录通过一次操作插入数据库的过程。这种技术在需要导入大量数据的场景中特别有用,例如批处理、数据迁移或在应用程序设置期间填充数据库。 1.1 为什么要使用批量插入? 批量插入对于优化性能至关重要,因为它减少了与多次单独插入操作相关的开销。与逐条插入记录相比,批量插入将大量记录通过一次查询发送到数据库,从而减少了数据库的往返次数。…

Spring Boot + LangChain 构建 RAG 应用

什么是 RAG? 检索增强生成(Retrieval-Augmented Generation, RAG) 是一种结合了检索和生成两种关键技术的机器学习方法。这种方法在自然语言处理任务中特别有效,例如对话系统和问答系统。 RAG 的关键组件 检索 : • RAG 首先从大型数据集或知识库中检索与用户查询相关的文档或数据。 •…

Spring Boot + Spring Security实现基于角色的权限控制管理

在现代应用程序中,确保基于用户角色的安全访问至关重要。 基于角色的访问控制(RBAC) 是一种常见的模式,用于根据用户在组织中的角色来限制其访问权限。在本博客中,我们将探讨如何使用 Spring Security 在 Spring 应用程序中实现 RBAC。 基于角色和权限的访问控制 | Spring Security | Spring Boot…

如何设计一个支持 600 万在线用户、峰值每秒 10 万请求的系统

设计一个支持600万同时在线用户的高并发系统,需要从架构设计、技术选型、性能优化等多个方面综合考虑。以下是详细的设计思路和面临的挑战: 一、架构设计 1. 分层架构 • 客户端层 :通过CDN加速静态资源分发,减少服务器压力。 • 负载均衡层 :使用LVS、Nginx、HAProxy等负载均衡器,分散请求到后端服务器。 • 应用服务层…

使用 Spring Boot API 处理大数据

在 Spring Boot 中, Rest Client 并没有硬编码限制 可以消费的 JSON 响应大小。然而,由于以下几个因素,实际应用中可能会遇到一些限制: 堆内存限制 JVM 的堆内存大小决定了应用程序在任何时刻可以容纳的数据量。如果 JSON 响应过大,超出了分配的堆内存大小,可能会导致 OutOfMemoryError 错误。 可以通过设置…

典型 Spring Boot 应用程序的架构流程

Spring Boot 是一个强大的框架,它通过提供预配置的设置简化了企业级应用程序的开发,使开发者能够更专注于编写业务逻辑,而不是管理配置。在本文中,我们将深入探讨典型 Spring Boot 应用程序的架构流程,帮助您理解各组件如何交互以及请求从开始到结束的处理过程。 1. Spring Boot 架构的核心组件 在深入探讨流程之前,有必要了解构成…

使用装饰器模式实现在线支付系统

本文我们将解决一个关于设计模式的 Java 面试问题,重点介绍在生产级应用中常用的 装饰器模式 。装饰器模式是一种结构型设计模式,允许动态扩展对象的行为。这种模式在需要多种功能组合的场景中非常有用,同时避免了继承的复杂性。 问题 解释装饰器模式。 为在线支付系统提供一个 Java 实现,其中不同的支付类型(如信用卡、PayPal…

使用 Jackson 流式 API 在 Spring Boot 中高效处理大型 JSON

本文我们将探讨如何在 Spring Boot 应用程序中使用 Jackson 的流式 API( JsonParser )高效处理大型 JSON 对象。通过增量反序列化大型 JSON 对象,可以 避免内存和性能瓶颈 。本文将通过一个实时示例,演示如何处理大型 JSON 负载,并实现数据的增量处理和过滤。我们将实现一个 Spring Boot 控制器来处理大型…