Spring Cloud簡介

Spring是一個用於在Java語言中開發Web應用程序的平臺。 它於2004年首次推出。2006年,Spring的很多子項目跟着誕生。 每個子項目都側重於不同的領域。 到目前爲止,您可以看到常見的子項目如下圖所示-
Spring Cloud簡介

Spring IO(Spring Integration Objects)是用於Spring子項目族的名稱。 它被認爲是一個傘,子項目位於這樣的傘下面。
Spring Cloud是一個位於Spring IO Umbrella中的子項目,它本身就是一把主傘和一個副傘。
Spring Cloud簡介

Spring Cloud爲開發人員提供了快速構建分佈式系統中一些常見模式的工具(例如配置管理,服務發現,斷路器,智能路由,微代理,控制總線,一次性令牌,全局鎖定,領導選舉,分佈式 會話,集羣狀態)。 分佈式系統的協調導致鍋爐板模式,使用Spring Cloud開發人員可以快速站起來實現這些模式的服務和應用程序。 它們適用於任何分佈式環境,包括開發人員自己的筆記本電腦,裸機數據中心和Cloud Foundry等託管平臺。

以下是Spring Cloud中的子項目和模式列表:
Spring Cloud簡介

所有Spring Cloud項目都應該由Spring Boot創建,因爲Spring Boot是爲了幫助開發人員更輕鬆地使用Spring Framework構建項目。 如果要開發基於Spring Framework的核心Spring Cloud應用程序將非常困難。
因此,要創建Spring Cloud應用程序,您需要創建一個Spring Boot項目。 並聲明所需的依賴項。

聲明Spring Boot Parent:

<!-- https://mvnrepository.com/artifact/org.springframework.boot/spring-boot-starter-parent -->

<parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>1.5.9.RELEASE</version>
    <relativePath/> <!-- lookup parent from repository -->
</parent>

<!-- https://mvnrepository.com/artifact/org.springframework.cloud/spring-cloud-dependencies -->
<properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
    <java.version>1.8</java.version>
    <spring-cloud.version>Edgware.RELEASE</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>

聲明依賴項:

<!-- https://mvnrepository.com/artifact/org.springframework.cloud/spring-cloud-starter-eureka -->
<!-- https://mvnrepository.com/artifact/org.springframework.cloud/spring-cloud-starter-eureka-server -->

<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-starter-...</artifactId>
</dependency>

<!--
  spring-cloud-starter-eureka
  spring-cloud-starter-eureka-server
  ...
-->