51工具盒子

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

maven

Spring 实现两级缓存

Spring 实现两级缓存

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

1、概览 {#1概览} ----------- 缓存数据意味着我们的应用无需访问速度较慢的存储层,从而提高了性能和响应速度。我们可以使用任何内存实现库(如 [Caffeine](https://www.baeldung.com/java-caching-caffeine))来实现缓存。 虽然这样做可以提高数据检索的性能,但如果应用部署在多个副本上,那么实例之间就无法共享缓存...

根据属性(Properties)动态注册 Spring Bean

根据属性(Properties)动态注册 Spring Bean

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

1、概览 {#1概览} ----------- 本文将带你了解如何根据自定义属性动态注册 Bean。 主要是学习 `BeanDefinitionRegistryPostProcessor` 接口,以及如何使用它将 Bean 添加到 Application Context 中。 2、设置 {#2设置} ----------- 创建一个简单的 Spring Boot 应用。...

Spring Boot 启用虚拟线程

Spring Boot 启用虚拟线程

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

本文将带你了解什么是虚拟线程、虚拟线程是如何提高应用吞吐量的,以及如何为 Spring Boot 应用启用虚拟线程。 并发编程的演化 {#并发编程的演化} ------------------ ### 线程 {#线程} 总所周知,线程(Thread)是计算机中的最小执行单元,由操作系统直接进行调度,每个线程都有自己的执行路径和执行状态,可以独立地运行和并发执行多个任务。 ...

Spring 在运行动态地创建 Prototype Scope Bean

Spring 在运行动态地创建 Prototype Scope Bean

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

1、概览 {#1概览} ----------- 本文将带你了解如何在 Spring 中使用运行时参数创建一个 Prototype Scope Bean。 在 Spring 中,有许多不同的 Bean Scope,默认的 Scope 是 Singleton(单例)。Singleton Scope 的 Bean 将始终产生相同的对象。 如果每次都需要从容器中获得一个新实例,可...

Spring Boot 3.2.3 发布

Spring Boot 3.2.3 发布

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

⚠️ 注意 {#-注意} ------------ 此版本升级到 Hibernate 6.4.4.Final。虽然它包含了许多有价值的错误修复,但在原生镜像(Native Image)中无法正常工作。如果你正在使用 *GraalVM* ,则应在 `pom.xml` 中使用 `hibernate.version` 属性将 Hibernate 暂时降级到 `6.4.2.Final...

在 Spring 中使用 AOP 记录执行日志

在 Spring 中使用 AOP 记录执行日志

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

1、概览 {#1概览} ----------- Aspect-Oriented Programming(面向切面编程,简称 AOP)是一种范式,它能让我们在整个应用中隔离事务管理或日志记录等交叉问题,而不会干扰业务逻辑。 本文将带你了解如何在 [Spring](/spring/) 中使用 AOP 记录执行日志。 2、不使用 AOP 记录日志 {#2不使用-aop-记录日志...

Hibernate 和 Spring Data JPA 中的 N+1 问题

Hibernate 和 Spring Data JPA 中的 N+1 问题

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

1、概览 {#1概览} ----------- [Spring JPA](/spring-data-jpa/) 和 Hibernate 为无缝数据库通信提供了强大的工具。不过,由于客户端将更多控制权委托给了框架,因此生成的查询可能远非最佳。 本文将带你了解使用 Spring JPA 和 Hibernate 时常见的 *N+1* 问题,以及可能导致该问题的不同情况。 2、社...

在 Spring Batch 中访问 JobParameter

在 Spring Batch 中访问 JobParameter

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

1、概览 {#1概览} ----------- [Spring Batch](/spring-batch/) 是一个强大的 Java 批处理框架,因此在数据处理活动和定时任务运行中被广泛选择。根据业务逻辑的复杂程度,作业可以依赖不同的配置值和动态参数。 本文将带你了解如何使用 `JobParameter` 以及如何从基本的批处理组件中访问它们。 2、Demo 项目 {#2...

在 Kubernetes 上实现 Spring Boot SSL 热重载

在 Kubernetes 上实现 Spring Boot SSL 热重载

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

本文将带你了解如何为在 Kubernetes 上运行的 [Spring Boot](/spring-boot/) 应用配置 SSL 证书的热重载。我们将使用 Spring Boot 3.1 和 3.2 版本中引入的两个功能。第一个功能允许我们利用 [SSL Bundle](/spring-boot-security-ssl-bundles/) 在服务器端和客户端配置和使用自定义...