Spring 中的事务管理器(TransactionManager)
**事务管理** ,一个被说烂的也被看烂的话题,还是面试中常问到的问题之一。 本文会从设计角度,一步步的剖析 Spring 事务管理的设计思路(都会设计事务管理器了,还能玩不转?)。 一、为什么需要事务管理? {#一为什么需要事务管理} -------------------------- 先看看如果没有事务管理器的话,如果想让多个操作(方法/类)处在一个事务里应该怎么做...
51工具盒子
**事务管理** ,一个被说烂的也被看烂的话题,还是面试中常问到的问题之一。 本文会从设计角度,一步步的剖析 Spring 事务管理的设计思路(都会设计事务管理器了,还能玩不转?)。 一、为什么需要事务管理? {#一为什么需要事务管理} -------------------------- 先看看如果没有事务管理器的话,如果想让多个操作(方法/类)处在一个事务里应该怎么做...
Spring Boot 中默认使用的 JSON 框架是 [jackson](https://github.com/FasterXML/jackson),它负责把 JSON 请求体反序列化为 Java 对象,并把响应给客户端的 Java 对象序列化为 JSON 字符串。 本文将会详细介绍如何在 Spring Boot 应用中自定义 jackson 对 `Date`、`Local...
<p>日志系统对应用程序的重要性不言而喻。Spring Boot 为应用程序的日志记录提供了强大的支持,并提供了各种自定义选项。在本教程中,你将学习如何在 Spring Boot 应用程序中使用 <a href="https://logback.qos.ch/">Logback</a> 和 <a href="...
<h2>1、概览 {#1概览}</h2> <p>在本教程中,我们将讨论 Spring Boot 3.1 中引入的增强型 Testcontainers 支持。</p> <p>这个更新提供了一种更简化的配置容器的方法,并允许我们启动它们进行本地开发。因此,使用 Testcontainers 进行开发和运行测试变得更加无缝和...
<p>在本文中,你将学习如何使用 Spring Boot 内置的 Testcontainers 和 Docker Compose 支持,在开发模式下运行外部服务。Spring Boot 在当前的最新版本 3.1 中引入了这些功能,你已经可以在 Spring Boot 应用的测试中利用 Testcontainers。在应用程序启动时运行外部数据库、message br...
<h2>1、概览 {#1概览}</h2> <p>在 web 开发过程中,经常会遇到 HTTP 403 forbidden error。</p> <p>在本教程中,我们将学习如何解决 Spring Boot POST 请求中的 403 错误。我们将首先了解 403 错误的含义,然后探讨在 Spring Boot 应用程序...
<h2>1、简介 {#1简介}</h2> <p>在本教程中,我们将介绍如何使用 PostgreSQL 的 <code>LISTEN</code> / <code>NOTIFY</code> 命令来在 Spring Boot 应用中实现简单的 MQ。</p> <h2>2、P...
<h2>1、概览 {#1概览}</h2> <p>当我们在 IDE 中运行代码分析工具时,它可能会对带有 <code>@Autowired</code> 注解的字段发出 "Field injection is not recommended" 的警告。</p> <p&...
[Spring Data JPA](/spring-data-jpa/) 是 Spring 框架提供的一个模块,用于简化与关系型数据库的交互和数据访问。它基于JPA(Java Persistence API)标准,并提供了一组易于使用的API和工具,帮助开发人员更轻松地进行数据库操作。通过Spring Data JPA,开发人员可以通过编写简洁的代码来执行常见的 CRUD 操作...
Spring Profiles 简介 {#spring-profiles-简介} ---------------------------------------- 通常,软件应用程序会在不同的环境中运行。在开发过程中,它将在 `local` 环境运行,然后我们可能会将它部署到 `QA`、`Staging`、`Performance` 环境中,最后再部署到 `Productio...