首页 > 编程语言 > 详细

Spring Cloud Alibaba系列

时间:2021-02-01 11:54:17      阅读:36      评论:0      收藏:0      [点我收藏+]

第一节 项目简介

  Spring Cloud Alibaba 致力于提供微服务开发的一站式解决方案。此项目包含开发分布式应用微服务的必需组件,方便开发者通过 Spring Cloud 编程模型轻松使用这些组件来开发分布式应用服务。

  依托 Spring Cloud Alibaba,您只需要添加一些注解和少量配置,就可以将 Spring Cloud 应用接入阿里微服务解决方案,通过阿里中间件来迅速搭建分布式应用系统。

 

技术分享图片

 

 

 

技术分享图片

 

 

 

 

 

技术分享图片

 

 

 

 技术分享图片

 

 

 

技术分享图片

 

 

 技术分享图片

 

 

 

技术分享图片

 

 

 技术分享图片

 

 

 技术分享图片

 

 

 技术分享图片

 

 

 

 

第二章 依赖管理

Spring Cloud Alibaba BOM 包含了它所使用的所有依赖的版本。
 

一、版本管理规范

 
项目的版本号格式为 x.x.x 的形式,其中 x 的数值类型为数字,从 0 开始取值,且不
限于 0~9 这个范围。项目处于孵化器阶段时,第一位版本号固定使用 0,即版本号为 0.x.x
的格式。
由于 Spring Boot 1 和 Spring Boot 2 在 Actuator 模块的接口和注解有很大的变更,且
spring-cloud-commons 从 1.x.x 版本升级到 2.0.0 版本也有较大的变更,因此 Spring Cloud
Alibaba 采取跟 SpringBoot 版本号一致的版本:
? 1.5.x 版本适用于 Spring Boot 1.5.x
? 2.0.x 版本适用于 Spring Boot 2.0.x
? 2.1.x 版本适用于 Spring Boot 2.1.x
? 2.2.x 版本适用于 Spring Boot 2.2.x
下表展示了 Spring Cloud Alibaba & Spring Cloud & Spring Boot 兼容关系:
The Spring Cloud Alibaba & Spring Cloud & Spring Boot compatibility table
技术分享图片

 

 技术分享图片

 

 

 

以后我们的项目选择的版本为:
? Spring Boot 2.2.3.RELEASE
? Spring Cloud Hoxton.SR3
? Spring Cloud Alibaba 2.2.0.RELEASE
 

二、依赖管理

  Spring Cloud Alibaba BOM 包含了它所使用的所有依赖的版本。如果您是 Maven Central
用户,请将我们的 BOM 添加到您的 pom.xml 中的 <dependencyManagement> 部分。 这
将允许您省略任何 Maven 依赖项的版本,而是将版本控制委派给 BOM。
 
<dependencyManagement>
<dependencies>
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-alibaba-dependencies</artifactId>
<version>2.2.0.RELEASE</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement> 
 
在下面的章节中,假设您使用的是 Spring Cloud Alibaba bom,相关 starter 依赖将不包
含版本号。
 
 

三、父项目的创建

 
使用父项目能控制所有子项目依赖的全局版本,能有效的去除子项目里面重复的依赖,
减少出错的几率。在此,我们将创建一个父 pom,让所有的子模块都继承该父 pom。
 

3.1 spring-cloud-alibaba-examples 项目的创建

 
spring-cloud-alibaba-examples 将作为我们子项目的最大父 pom 项目!
注意:在使用 IDEA 之前我们假设您已经设置了相应的 JDK 配置和 Maven 配置
 

3.1.1 使用 IDEA 创建一个 Maven 项目

 
创建一个新的 Maven 项目 
技术分享图片

 

 

选择 Next: 
技术分享图片

 

 

 

填写下面的相关信息:
Name:spring-cloud-alibaba-examples
Location:D:\workspace\spring-cloud-alibaba-examples(不要随便放)
GroupId:com.bjsxt
Version:1.0
最后,点击 finish 完成创建的过程!
 
 
 

3.1.2 Spring Boot 版本的控制

 
  我们采用<parent> 的方式来导入 Spriing Boot 的版本号。
打开项目的 pom.xml 文件,添加依赖内容: 
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.2.3.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
 
这样,我们的项目就已经规定了 Spring Boot 的版本为 2.2.3.RELEASE 了。
 
 

3.1.3 Spring Cloud 版本的控制

 
我们使用依赖管理的方式来添加 Spring Cloud 的版本信息,在<properties> 里面定义版
本信息,这里面我们选择 Hoxton.SR3 这个版本!
 
<properties>
<spring-cloud.version>Hoxton.SR3</spring-cloud.version>
</properties>
 
  之后在 <dependencyManagement> 里面添加 spring-cloud 的 bom 信息,这将允许您省略任何 Maven 依赖项的版本,而是将版本控制委派给 BOM。
 
<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> 
 
 

3.1.4 Spring Cloud Alibaba 版本的控制

 
  同样,我们使用依赖管理的方式来添加 Spring Cloud Alibaba 的版本信息。在<properties>里面定义版本信息,这里面我们选择 2.2.0.RELEASE 这个版本!
 
<properties>
...
<com-alibaba-cloud.version>2.2.0.RELEASE</com-alibaba-cloud.version>
...
</properties>
 
  之后在 <dependencyManagement> 里面添加 spring-cloud 的 bom 信息,这将允许您省略任何 Maven 依赖项的版本,而是将版本控制委派给 BOM。 
 
 
<dependencyManagement>
<dependencies>
...
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-alibaba-dependencies</artifactId>
<version>${com-alibaba-cloud.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
....
</dependencies>
</dependencyManagement>
 

3.1.4 设置为 pom 的版本方式

添加项目的打包方式: 
<packaging>pom</packaging>
这将保证我们的项目是以 pom 打包的。 
 

3.1.5 完整的 pom.xml

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.2.3.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent> 
 
<groupId>com.bjsxt</groupId>
<artifactId>spring-cloud-alibaba-examples</artifactId>
<version>1.0</version>
<properties>
<spring-cloud.version>Hoxton.SR3</spring-cloud.version>
<com-alibaba-cloud.version>2.2.0.RELEASE</com-alibaba-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>
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-alibaba-dependencies</artifactId>
<version>${com-alibaba-cloud.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
</project> 
 

3.2 项目的打包

3.2.1 删除项目里面多余的文件夹

  我们的项目仅仅是一个父 pom 文件,因此,项目只需要保留 pom.xml 即可,我们在此
可以删除 src 目录。
 
技术分享图片

 

 

3.2.2 执行打包

 
使用 Maven 打包我们的项目。
 
技术分享图片

 

 技术分享图片

 

 

 

3.2.3 观察打包后的效果
 
我们打开我们 Maven 设置的本地仓库地址,如图所示:
打开 Maven 里面的 settings.xml 文件,找到该标签
技术分享图片

 

 

发现我们本地仓库的地址位于 D 盘的 lib\jar 文件夹里面:
打开该文件夹: 
技术分享图片

 

 

Spring Cloud Alibaba系列

原文:https://www.cnblogs.com/wq-9/p/14354687.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!