51工具盒子

依楼听风雨
笑看云卷云舒,淡观潮起潮落

Java笔记

Spring 注入具有多个实现类的接口

Spring 注入具有多个实现类的接口

厉飞雨 阅读(7) 评论(0) 赞(1)

1、简介 {#1简介} ----------- 本文将带你了解如何在 Spring Boot 中自动装配具有多个实现的接口,以及一些常见用例。这是一个强大的功能,允许开发人员动态地将接口的不同实现注入到组件中。 2、默认行为 {#2默认行为} --------------- 默认情况下,当接口存在多个实现并试图将该接口自动装配到组件中时,会遇到异常:"requi...

再谈谈 Spring 中的循环依赖

再谈谈 Spring 中的循环依赖

厉飞雨 阅读(13) 评论(0) 赞(3)

一、循环依赖 {#一循环依赖} --------------- ### 1.1、什么是循环依赖 {#11什么是循环依赖} 首先,什么是循环依赖?这个其实好理解,就是两个 Bean 互相依赖,类似下面这样: ```java @Service public class AService { @Autowired BService bService; } @...

在 Spring Data JPA 查询中使用枚举(Enum)

在 Spring Data JPA 查询中使用枚举(Enum)

厉飞雨 阅读(20) 评论(0) 赞(1)

1、概览 {#1概览} ----------- 在使用 [Spring Data JPA](/spring-data-jpa/) 构建持久层时,经常要处理带有枚举字段的实体。这些枚举字段代表一组固定的常量,例如订单的状态、用户的角色或业务的某个阶段。 本文将带你了解如何使用标准的 JPA 方法和原生查询来查询实体类中声明的枚举字段。 2、应用设置 {#2应用设置} ---...

使用 Spring Authorization Server 和 PKCE 对 SPA 应用进行身份认证

使用 Spring Authorization Server 和 PKCE 对 SPA 应用进行身份认证

厉飞雨 阅读(11) 评论(0) 赞(5)

1、简介 {#1简介} ----------- 本文将带你了解如何在 *OAuth 2.0* 公开客户端(Public Client)中使用 Proof Key for Code Exchange (代码交换证明密钥,PKCE)。 2、背景 {#2背景} ----------- OAuth 2.0 公开客户端(如 SPA 单页应用,或使用授权码授权的移动应用)很容易受到授...

使用 Embedding 模型和向量数据库的 Spring AI RAG

使用 Embedding 模型和向量数据库的 Spring AI RAG

厉飞雨 阅读(16) 评论(0) 赞(3)

本文主要介绍以下内容: * 嵌入式模型简介。 * 使用 `DocumentReader` 加载数据。 * 在 `VectorStore` 中存储 *Embedding*。 * 实现 RAG(Retrieval-Augmented Generation,检索增强生成),又名 *Prompt Stuffing*。 你可以在 [GitHub](https://github.com...

在 Spring 中实现 Bulk 和 Batch API

在 Spring 中实现 Bulk 和 Batch API

厉飞雨 阅读(11) 评论(0) 赞(1)

1、概览 {#1概览} ----------- 尽管标准的 REST API 可以满足大多数常见需求,但在处理批量(Bulk)或批处理(Batch)操作时,基于 REST 的架构风格存在一些限制。 本文将带你了解如何在微服务中应用 Bulk 和 Batch 操作,以及如何实现一些自定义的面向 "写" 的 Bulk 和 Batch API。 2、 Bul...

Spring 异常 “No Multipart Boundary Was Found”

Spring 异常 “No Multipart Boundary Was Found”

厉飞雨 阅读(25) 评论(0) 赞(3)

1、简介 {#1简介} ----------- 本文将带你了解在 Spring 中处理文件上传(Multipart)请求时出现异常:"No Multipart Boundary Was Found" 的原因,以及解决办法。 2、理解 Multipart 请求 {#2理解-multipart-请求} ----------------------------...

如何控制 Spring Bean 的加载顺序?

如何控制 Spring Bean 的加载顺序?

厉飞雨 阅读(17) 评论(0) 赞(4)

先说结论,**使用 @Order 注解或者是实现 `Ordered` 接口并不能控制 Bean 的加载顺序**。 一、@Order 注解和 Ordered 接口 {#一order-注解和-ordered-接口} ------------------------------------------------ 在 [Spring](/spring/) 框架中,`@Order`...

Spring AI 和 Open AI 入门

Spring AI 和 Open AI 入门

厉飞雨 阅读(13) 评论(0) 赞(3)

Open AI 和 Spring AI 简介 {#open-ai-和-spring-ai-简介} ------------------------------------------------ 当 OpenAI 发布 *ChatGPT* 时,它在全球掀起了一场风暴。这是第一次有语言模型能够根据提示生成类似人类的回答。此后,OpenAI 又发布了其他几个模型,包括可以根据文字...