
在集成测试中覆盖 Spring Bean
1、概览 {#1概览} ----------- 在 Spring 集成测试中,我们可能想要覆盖应用的一些 Bean。通常,可以使用专门为测试定义的 Spring Bean 来实现。然而,在 Spring Context 中提供多个具有相同名称的 Bean,可能会遇到 `BeanDefinitionOverrideException` 异常。 本文将带你了解如何在 Sprin...
1、概览 {#1概览} ----------- 在 Spring 集成测试中,我们可能想要覆盖应用的一些 Bean。通常,可以使用专门为测试定义的 Spring Bean 来实现。然而,在 Spring Context 中提供多个具有相同名称的 Bean,可能会遇到 `BeanDefinitionOverrideException` 异常。 本文将带你了解如何在 Sprin...
<h2>1、概览 {#1概览}</h2> <p>本文将带你了解如何在 <a href="/spring/">Spring</a> 应用中使用 Thymeleaf 模板来渲染错误信息。</p> <p>我们会通过一个简单的 Spring Boot 项目来进行演示,该项目是一个 &...
一、读写分离介绍 {#一读写分离介绍} ------------------- 当使用Spring Boot开发数据库应用时,读写分离是一种常见的优化策略。读写分离将读操作和写操作分别分配给不同的数据库实例,以提高系统的吞吐量和性能。 读写分离实现主要是通过动态数据源功能实现的,动态数据源是一种通过在运行时动态切换数据库连接的机制。它允许应用程序根据不同的条件或配置选择不同...
1、概览 {#1概览} ----------- 当有多个相同类型的实现时,需要对 Spring Bean 进行不同的命名。这是因为如果 Bean 没有唯一的名称,Spring 在注入 Bean 时会出现歧义。 通过控制 Bean 的命名,可以告诉 Spring 我们想将哪个 Bean 注入到目标对象中。 本文将带你了解 Spring Bean 命名策略,以及如何为同一类型...
1、概览 {#1概览} ----------- 安全通信在现代应用中发挥着重要作用。客户端和服务器之间通过普通 HTTP 进行的通信并不安全。对于生产级的应用,应该在应用中通过 TLS(传输层安全)协议启用 HTTPS。 本文将带你了解如何在 [Spring Boot](/spring-boot/) 应用中启用 TLS。 2、TLS 协议 {#2tls-协议} -----...
<h2>什么是精度丢失? {#什么是精度丢失}</h2> <p>Java 中长整形 <code>Long</code> (64位)的取值范围是:<code>-9223372036854775808</code> - <code>9223372036854775807</code...
1、概览 {#1概览} ----------- 本文将带你了解如何把 Spring Context 中的 Bean 设置为 null。在某些情况下,这可能很有用。例如,在测试时不想提供 Mock 对象。以及,在使用一些可选功能时,可能希望避免创建实现,并直接传递 null。 2、组件设置 {#2组件设置} --------------- 有几种方法可以将 Bean 设置为...
<h2>1、概览 {#1概览}</h2> <p>本文将带你了解如何通过 properties 文件控制 Spring Boot Actuator 端点的状态,以及如何保证端点的安全。</p> <h2>2、设置 {#2设置}</h2> <p>为了使用 Actuator,需要在 Maven 配置中包...
<p>跨域问题每个人都会遇到,特别是在前后端分离的系统中。</p> <p>如果你正在使用 Spring Boot 开发后端应用,并且浏览器中遇到了跨域问题。类似于如下:</p> <pre><code class="language-txt">Access to fetch at '...
1、简介 {#1简介} ----------- 以前在 Spring Boot 中配置 SSL 非常复杂,主要是证书有很多类型,如:JKS、PKCS #12 或 PEM。每种类型的配置方式又不一样。 幸运的是,Spring Boot 3.1 引入了 SSL Bundle,旨在简化 Spring Boot 中的 SSL 配置。在本教程中,我们将了解什么是 SSL Bundle...