Spring Cloud2023.0.1

Spring Cloud 为开发者提供了工具,以便在分布式系统中快速构建一些常见模式(例如配置管理、服务发现、断路器、智能路由、微代理、控制总线、短生命周期微服务和契约测试)。分布式系统的协调会导致样板模式,而使用 Spring Cloud 开发人员可以快速建立实现这些模式的服务和应用程序。它们将在任何分布式环境中良好运行,包括开发人员自己的笔记本电脑、裸机数据中心和 Cloud Foundry 等托管平台。

入门

生成新的 Spring Cloud 项目

开始的最简单方法是访问 start.spring.io,选择你的 Spring Boot 版本和想要使用的 Spring Cloud 项目。当你生成项目时,这会将相应的 Spring Cloud BOM 版本添加到你的 Maven/Gradle 文件中。

将 Spring Cloud 添加到现有的 Spring Boot 应用程序

如果你有一个现有的 Spring Boot 应用程序,并且想要向该应用程序添加 Spring Cloud,第一步是确定你应该使用的 Spring Cloud 版本。你在应用程序中使用的版本将取决于你正在使用的 Spring Boot 版本。

下表概述了哪个版本的 Spring Cloud 映射到哪个版本的 Spring Boot。

表 1. 发行版与 Spring Boot 兼容性(有关更详细的信息,请参见 此处)。

发行版 Spring Boot 版本
2023.0.x 又名 Leyton 3.2.x
2022.0.x 又名 Kilburn 3.0.x、3.1.x(从 2022.0.3 开始)
2021.0.x 又名 Jubilee 2.6.x、2.7.x(从 2021.0.3 开始)
2020.0.x 又名 Ilford 2.4.x、2.5.x(从 2020.0.3 开始)
Hoxton 2.2.x、2.3.x(从 SR5 开始)
Greenwich 2.1.x
Finchley 2.0.x
Edgware 1.5.x
Dalston 1.5.x

Spring Cloud Dalston、Edgware、Finchley、Greenwich 和 2020.0(又名 Ilford)已全部达到生命周期终点,不再受支持。

通过服务版本 (SR) 向每个发行版添加错误修复和向后兼容的功能。一旦确定要使用的 Spring Cloud 版本,你应该使用该发行版的最新服务版本。你可以在我们的 版本说明页面 上找到最新的服务版本信息。

现在你知道了要使用哪个发行版以及该发行版的最新服务版本,就可以将 Spring Cloud BOM 添加到你的应用程序中了。

<properties>
    <spring-cloud.version>2023.0.0</spring-cloud.version>
</properties>
<dependencyManagement>
    <dependencies>
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-dependencies</artifactId>
            <version>${spring-cloud.version}</version>
            <type>pom</type>
            <scope>import</scope>
        </dependency>
    </dependencies>
</dependencyManagement>
plugins {
  id 'java'
  id 'org.springframework.boot' version '3.2.0'
  id 'io.spring.dependency-management' version '1.1.4'
}

repositories {
  mavenCentral()
}

ext {
  set('springCloudVersion', "2023.0.0")
}

dependencyManagement {
  imports {
    mavenBom "org.springframework.cloud:spring-cloud-dependencies:${springCloudVersion}"
  }
}

建议您使用发行版 train BOM spring-cloud-dependencies。这是一个仅 BOM 的版本,它只包含依赖项管理,不包含插件声明或对 Spring 或 Spring Boot 的直接引用。您可以使用 Spring Boot 父 POM,或使用 Spring Boot 的 BOM(spring-boot-dependencies)来管理 Spring Boot 版本。

与 Spring Boot 一样,许多 Spring Cloud 项目都包含 starter,您可以将其作为依赖项添加,以向您的项目添加各种云原生功能。在许多情况下,只需将 starter 添加到您的类路径即可启用许多功能。starter 名称记录在各个项目中。下面是一个示例,说明如何将 Spring Cloud Config Client 和 Spring Cloud Netflix Eureka 客户端添加到您的应用程序中。

<dependencies>
    <dependency>
        <groupId>org.springframework.cloud</groupId>
        <artifactId>spring-cloud-starter-config</artifactId>
    </dependency>
    <dependency>
        <groupId>org.springframework.cloud</groupId>
        <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
    </dependency>
    ...
</dependencies>
dependencies {
  implementation 'org.springframework.cloud:spring-cloud-starter-config'
  implementation 'org.springframework.cloud:spring-cloud-starter-netflix-eureka-client'
  //...
}

主要项目

Spring Cloud Config

由 git 存储库支持的集中式外部配置管理。配置资源直接映射到 Spring Environment,但如果需要,也可以由非 Spring 应用程序使用。

Spring Cloud Gateway

Spring Cloud Gateway 是一个基于 Spring Framework 和 Spring Boot 的智能可编程路由器。

Spring Cloud Netflix

与 Netflix OSS 的 Eureka 服务发现集成。

Spring Cloud Consul

使用 Hashicorp Consul 进行服务发现和配置管理。

Spring Cloud Data Flow

一种云原生编排服务,适用于现代运行时上的可组合微服务应用程序。易于使用的 DSL、拖放式 GUI 和 REST-API 共同简化了基于微服务的管道整体编排。

Spring Cloud Function

Spring Cloud Function 促进了通过函数实现业务逻辑。它支持跨无服务器提供商的统一编程模型,以及独立运行(本地或 PaaS 中)的能力。

Spring Cloud Stream

一个轻量级的事件驱动的微服务框架,用于快速构建可连接到外部系统的应用程序。使用 Apache Kafka 或 RabbitMQ 在 Spring Boot 应用程序之间发送和接收消息的简单声明模型。

Spring Cloud Stream Applications

Spring Cloud Stream Applications 是开箱即用的 Spring Boot 应用程序,使用 Spring Cloud Stream 中的绑定抽象,提供与外部中间件系统(如 Apache Kafka、RabbitMQ 等)的集成。

Spring Cloud Task

一个生命周期较短的微服务框架,用于快速构建执行有限数据处理的应用程序。用于向 Spring Boot 应用程序添加功能和非功能特性的简单声明。

Spring Cloud Task App Starters

Spring Cloud Task App Starters 是 Spring Boot 应用程序,可以是任何进程,包括不会一直运行的 Spring Batch 作业,它们在有限的数据处理周期后结束/停止。

Spring Cloud Zookeeper

使用 Apache Zookeeper 进行服务发现和配置管理。

Spring Cloud Contract

Spring Cloud Contract 是一个总括项目,包含帮助用户成功实现消费者驱动契约方法的解决方案。

Spring Cloud OpenFeign

Spring Cloud OpenFeign 通过自动配置和绑定到 Spring 环境以及其他 Spring 编程模型习惯用法为 Spring Boot 应用提供集成。

Spring Cloud Bus

用于通过分布式消息传递将服务和服务实例链接在一起的事件总线。对于在集群中传播状态更改(例如配置更改事件)非常有用。

Spring Cloud Open Service Broker

为构建实现 Open Service Broker API 的服务代理提供一个起点。

发布列车

Spring Cloud 是一个伞形项目,由独立项目组成,原则上发布节奏不同。为了管理产品组合,会发布一个 BOM(物料清单),其中包含对各个项目的精选依赖项。点击此处阅读有关发布列车命名约定的信息。

Spring Initializr

快速启动您的项目

抢先一步

VMware 提供培训和认证,助力您快速进步。

了解更多

获取支持

Tanzu Spring Runtime 在一个简单的订阅中为 OpenJDK™、Spring 和 Apache Tomcat® 提供支持和二进制文件。

了解更多

即将举行的活动

查看 Spring 社区即将举行的所有活动。

查看全部