为什么在 Spring 中不推荐使用字段注入
1、概览 {#1概览} ----------- 当我们在 IDE 中运行代码分析工具时,它可能会对带有 `@Autowired` 注解的字段发出 "Field injection is not recommended" 的警告。 在本教程中,我们将探讨为什么不推荐字段注入,以及我们可以使用哪些替代方法。 2、依赖注入(DI) {#2依赖注入di} --...
1、概览 {#1概览} ----------- 当我们在 IDE 中运行代码分析工具时,它可能会对带有 `@Autowired` 注解的字段发出 "Field injection is not recommended" 的警告。 在本教程中,我们将探讨为什么不推荐字段注入,以及我们可以使用哪些替代方法。 2、依赖注入(DI) {#2依赖注入di} --...
[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...
1、概览 {#1概览} ----------- Spring Boot 3 具有一些新功能,比如将我们的应用程序构建为 GraalVM Native Image(原生镜像)。另一个相关支持是 Docker Compose。 在本教程中,我们将了解如何将 Docker Compose 工作流与 Spring Boot 3 整合。 2、Spring Boot 3 的 Dock...
1、概览 {#1概览} ----------- 当我们数据库中的记录数量较多的时候,一般不会一次性检索出所有记录,通常会通过分页的方式展现。 此外,我们还经常需要在分页时根据某些条件对数据进行排序。 在本教程中,我们将学习如何使用 Spring Data JPA 轻松实现分页和排序。 2、创建实体 {#2创建实体} --------------- 首先,假设我们有一个...
1、概览 {#1概览} ----------- 安全在 REST API 开发中起着至关重要的作用。不安全的 REST API 可以直接访问后端系统的敏感数据。因此,企业需要关注 API 的安全性。 Spring Security 提供了各种机制来保护我们的 REST API。其中之一就是 API key。API key 是客户端在调用 API 时提供的 Token。 在...
Spring Framework 6 实现了 "Problem Details for HTTP APIs(HTTP API 的问题细节规范)"([RFC 7807](https://www.rfc-editor.org/rfc/rfc7807.html))。在本文中,我们将学习如何在 SpringBoot 3 REST API(使用 Spring Fram...
在本指南中,我将向你展示如何使用 Spring Boot 创建 Fat Jar。我们将一起构建一个简单的 "UsersMicroservice",然后将其打包到 Fat Jar 中。如果你是新手,也不用担心,我会一步一步地指导你,并回答你在使用过程中遇到的各种问题。 Fat JAR 是啥? {#fat-jar-是啥} -------------------...
1、概览 {#1概览} ----------- [Apache Pulsar](https://pulsar.apache.org/docs/3.0.x/) 是一个分布式发布/订阅消息系统。Apache Pulsar 提供的功能与 [Apache Kafka](https://kafka.apache.org/) 类似,但 Pulsar 的目标是克服 Kafka 的高延迟、低...
1、概览 {#1概览} ----------- 在本文中,我们将学习如何在 Spring Boot 3 配置可观察性(observability)。可观察性是一种仅通过外部输出来衡量系统内部状态的能力。 此外,我们必须注意 Spring Boot 2(Spring 5)和 Spring Boot 3(Spring 6)之间的重大变化。Spring 6 引入了 Spring ...