前言:Spring Cloud Alibaba是目前主流的分布式微服務架構,本文主要講解了在IDEA中如何搭建Spring Cloud Alibaba環境,以及介紹Spring Cloud Alibaba各個版本之間的關系和搭建Spring Cloud前的准備工作。
前置准備
Spring Cloud Alibaba需要依賴 Java 環境運行,同時還需要配置 Maven 環境,確保是以下版本:
版本說明
查看官網的版本說明
組件版本關系
下圖中版本關系無需自己設置,在Spring Cloud Alibaba 版本管理器spring-cloud-alibaba-dependencies
已經配置,引入該依賴即可
畢業版本依賴關系(推薦使用)
不同的Spring Cloud Alibaba版本之間的版本依賴關系不同,創建時需要自己查看官網說明,選擇RELEASE版本(發行版)
搭建方法
pom.xml
<properties>
<spring.cloud.alibaba.version>2.2.6.RELEASE</spring.cloud.alibaba.version>
<spring.boot.version>2.3.2.RELEASE</spring.boot.version>
<spring.cloud.version>Hoxton.SR9</spring.cloud-version>
</properties>
<dependencyManagement>
<dependencies>
<!--Spring Cloud Alibaba 版本管理器-->
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-alibaba-dependencies</artifactId>
<version>{spring.cloud.alibaba.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
<!--Spring Boot 版本管理器-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-dependencies</artifactId>
<version>${spring.boot.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
<!--Spring Cloud 版本管理器-->
<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>
Spring Boot 版本管理器里面的spring-boot-dependencies
和spring-boot-starter-parent
是一樣,兩種名字都可以
Spring腳手架創建
構建項目:約定 > 配置 > 編碼
父工程
- 在IDEA中新建父工程(父工程用於約定整個SpringCloud項目的版本)
- 選擇 Spring Initializr
- 填寫項目信息,注意:選擇Maven POM和Java版本(JDK)
選擇Maven POM創建項目不會創建src
文件,只有pom.xml
文件,父工程足夠使用
- 選擇Spring Boot版本(隨便選擇,后面需要修改)
- 檢查項目名稱和保存位置,點擊Finish。等待創建完成,出現界面則創建完成
- 完成創建后,打開
pom.xml
文件添加如下內容,添加SpringCloudAlibaba、SpringBoot和SpringCloud的依賴
pom.xml
<properties>
<spring.cloud.alibaba.version>2.2.6.RELEASE</spring.cloud.alibaba.version>
<spring.boot.version>2.3.2.RELEASE</spring.boot.version>
<spring.cloud.version>Hoxton.SR9</spring.cloud-version>
</properties>
<dependencyManagement>
<dependencies>
<!--Spring Cloud Alibaba 版本管理器-->
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-alibaba-dependencies</artifactId>
<version>{spring.cloud.alibaba.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
<!--Spring Boot 版本管理器-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-dependencies</artifactId>
<version>${spring.boot.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
<!--Spring Cloud 版本管理器-->
<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>
Spring Boot 版本管理器里面的spring-boot-dependencies
和spring-boot-starter-parent
是一樣,兩種名字都可以
- 父工程搭建完成,其他如服務發現注冊、配置中心、消息總線、負載均衡、斷路器、數據監控等組件需要時在父工程的
pom.xml
中引入相關依賴即可,這里先略過
子模塊
- 在父工程中新建模塊
- 選擇Maven,點擊Next。
- 填寫子模塊名(服務名)
相比於Spring官方提供的腳手架,使用阿里雲腳手架來創建會更加快捷方便,阿里雲重點面向微服務項目
IDEA設置
添加SpringBoot的服務選項卡
快速管理各個服務的狀態
- 編輯配置
- 添加SpringBoot服務
- 找到 SpringBoot
- 點擊OK后,下方就會出現一個Services,用於查看Spring Boot的微服務狀態
服務改名
- 右鍵點擊服務,選擇下圖的紅框打開
- 修改配置信息