51工具盒子

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

Java笔记

在 Spring Webflux 中使用 @Cacheable 注解缓存结果

在 Spring Webflux 中使用 @Cacheable 注解缓存结果

厉飞雨 阅读(10) 评论(0) 赞(2)

1、概览 {#1概览} ----------- 本文将带你了解如何在 Spring WebFlux 中使用 `@Cacheable` 注解实现缓存,以及一些常见的问题和解决办法。 2、`@Cacheable` 和响应式类型 {#2cacheable-和响应式类型} ------------------------------------------ 在本文撰稿时,`@Ca...

Spring Boot 中的 Startup Actuator 端点

Spring Boot 中的 Startup Actuator 端点

厉飞雨 阅读(9) 评论(0) 赞(2)

1、概览 {#1概览} ----------- [Spring Boot](/spring-boot/) 的启动过程可能涉及到繁琐的资源初始化。本文将带你了解如何通过 Spring Boot Actuator 的 `Startup` 端点追踪和监控这些启动信息。 2、应用启动追踪 {#2应用启动追踪} ------------------- 追踪应用启动过程中的各个步骤可...

Spring Boot 中的静态资源乱码

Spring Boot 中的静态资源乱码

厉飞雨 阅读(10) 评论(0) 赞(2)

通过浏览器直接访问 [Spring Boot](/spring-boot/) 中的静态文件(如 js、css),如果静态文件包含中文的话则会显示乱码。 静态文件 {#静态文件} ------------ 在 `src/main/resources/public` 目录下创建一个 `test.js` 文件,用于测试: ![Spring Boot 静态资源目录中的文件](/u...

Spring Boot 3.2.0 中的 SSL 热重载功能

Spring Boot 3.2.0 中的 SSL 热重载功能

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

[Spring Boot 3.2.0](/spring-boot/) 为嵌入式 Web 服务器添加了热加载 SSL 证书和密钥的功能。这意味着无需重启应用就能替换 SSL 配置。Tomcat 和 Netty 嵌入式 Web 服务器支持热重载。 首先,使用 OpenSSL 创建 SSL 私钥和匹配证书: ```sh mkdir certs cd certs openssl...

覆盖 Spring Boot 依赖的版本号

覆盖 Spring Boot 依赖的版本号

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

1、简介 {#1简介} ----------- [Spring Boot](/spring-boot/) 为大多数常用的依赖、第三方库都定义好了最兼容的版本号(如 JPA、MySQL 驱动、Redis 客户端)。得益于此,我们可以快速地创建一个新应用。 但,有时出于特殊原因,我们需要修改这些预定义的依赖版本号。 2、Spring Boot 依赖清单(BOM) {#2spr...

在 Spring Boot 中设置环境变量前缀

在 Spring Boot 中设置环境变量前缀

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

1、概览 {#1概览} ----------- 本文将带你了解 [Spring Boot](/spring-boot/) 2.5 中的一个新特性:为系统环境变量指定前缀。通过该特性,就可以在同一环境中运行多个不同的 Spring Boot 应用,只要所有属性都使用带前缀的版本。 2、环境变量前缀 {#2环境变量前缀} ------------------- 有时,我们可能...

Spring Security 中的 RequestRejectedException

Spring Security 中的 RequestRejectedException

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

1、简介 {#1简介} ----------- [Spring](/spring/) 5.0 至 5.0.4、4.3 至 4.3.14 以及其他旧版本在 Windows 系统上存在目录或路径遍历安全漏洞。 静态资源配置错误会导致恶意用户访问服务器的文件系统。例如,在 Windows 上使用 `file:` 协议配置静态资源,可能导致用户非法访问文件系统。 Spring 承...

Spring WebClient 中的 exchange() 和 retrieve() 方法

Spring WebClient 中的 exchange() 和 retrieve() 方法

厉飞雨 阅读(22) 评论(0) 赞(0)

1、概览 {#1概览} ----------- [`WebClient`](/spring-5-webclient/) 是一个简化 HTTP 请求执行过程的接口。与 `RestTemplate` 不同,它是一个响应式非阻塞客户端,可以消费和操作 HTTP 响应。虽然它被设计为非阻塞型,但也可用于阻塞型场景。 本文将带你了解 `WebClient` 接口中的关键方法,包括 `...

Spring JPA 从序列(SEQUENCE)中获取下一个值

Spring JPA 从序列(SEQUENCE)中获取下一个值

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

1、简介 {#1简介} ----------- *Sequence* (序列)是用于生成唯一 ID 的数字生成器,可避免数据库中出现重复记录。Spring JPA 为大多数情况提供了自动处理序列的方法。不过,在某些特定情况下,我们可能需要在持久化实体之前手动检索下一个序列值。例如,在将订单(`Order`)详细信息保存到数据库之前,需要生成一个唯一的订单号。 本文将带你了解...

一种极简单的 Spring Boot 单元测试方法

一种极简单的 Spring Boot 单元测试方法

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

本文主要介绍了一种单元测试方法,力求零基础人员可以从本文中受到启发,可以搭建一套好用的单元测试环境,并能切实提高交付代码的质量。极简体现在除了 POM 依赖和单元测试类之外,其他什么都不需要引入,只需要一个本地能启动的 [Spring Boot](/spring-boot/) 项目。 1、POM依赖 {#1pom依赖} ----------------- Springboo...