前言: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的微服务状态
服务改名
- 右键点击服务,选择下图的红框打开
- 修改配置信息