Spring Cloud Alibaba 版本选型
建议先选择Spring Cloud Alibaba的大版本,方便兼容
选择 Spring Cloud Alibaba 大版本
访问链接,找到标题“毕业版本依赖关系(推荐使用)”,选择你想要的版本,比如图红框
由于Alibaba已经指出了最合适的版本,所以我们不去SpringCloud官网查询合适版本,直接使用Alibaba官方提供的建议即可:
Spring Cloud Version: Spring Cloud Hoxton.SR8
Spring Cloud Alibaba Version: 2.2.5.RELEASE
Spring Boot Version: 2.3.2.RELEASE
Spring Cloud 版本选择(可选)备忘用,如果需要单独使用Spring Cloud,则可参考
选择大版本
访问,拉下来找到如图所示表格,选择SpringCloud大版本(如图红框,这里选择了Hoxton),然后其右边即为对应SpringBoot版本
选择推荐版本
访问,点击"LEARN",根据你选择的大版本号点击对应的"Reference Doc."
而后即可查看到推荐版本
如果想查看指定大版本的推荐版本(可选)
直接访问 https://docs.spring.io/spring-cloud/docs/大版本号/reference/html/,如 https://docs.spring.io/spring-cloud/docs/Hoxton.SR10/reference/html/
查看版本兼容范围(可选)
访问链接
注册中心
Eureka - 停更弃用
zookeeper
Consul
Nacos - 推荐
服务调用
Ribbon
LoadBalancer
Feign - 弃用
OpenFeign
服务降级
Hystrix - 弃用
Sentinel - 推荐
服务网关
Zuul - 弃用
Gateway
服务配置
Config - 弃用
Nacos - 推荐
服务总线
Bus
Nacos - 推荐
建立订单项目以订单项目为例,演示SpringCloud和SpringCloudAlibaba的使用,代码可从此处下载
建立父项目使用idea建立maven项目,删除src目录,编辑pom.xml。注意SpringCloud、SpringCloudAlibaba、SpringBoot的版本,使用前文的选择:
Spring Cloud Version: Spring Cloud Hoxton.SR8
Spring Cloud Alibaba Version: 2.2.5.RELEASE
Spring Boot Version: 2.3.2.RELEASE
<?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 "> <modelVersion>4.0.0</modelVersion> <groupId>com.spz.demo</groupId> <artifactId>spring-cloud-demo</artifactId> <version>1.0-SNAPSHOT</version> <packaging>pom</packaging> <!-- 后续新增模块后,需要在此处声明 --> <modules> <!-- <module>xxx</module> --> </modules> <!-- 统一管理jar包版本 --> <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <maven.compiler.source>1.8</maven.compiler.source> <maven.compiler.target>1.8</maven.compiler.target> <junit.version>4.12</junit.version> <log4j.version>1.2.17</log4j.version> <lombok.version>1.16.18</lombok.version> <mysql.version>8.0.16</mysql.version> <druid.version>1.1.16</druid.version> <mybatis.plus.version>3.3.2</mybatis.plus.version> </properties> <dependencyManagement> <dependencies> <!-- Spring Boot--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-dependencies</artifactId> <version>2.3.2.RELEASE</version> <type>pom</type> <scope>import</scope> </dependency> <!-- Spring Cloud --> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-dependencies</artifactId> <version>Hoxton.SR8</version> <type>pom</type> <scope>import</scope> </dependency> <!-- Spring Cloud Alibaba --> <dependency> <groupId>com.alibaba.cloud</groupId> <artifactId>spring-cloud-alibaba-dependencies</artifactId> <version>2.2.5.RELEASE</version> <type>pom</type> <scope>import</scope> </dependency> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>${mysql.version}</version> </dependency> <dependency> <groupId>com.alibaba</groupId> <artifactId>druid</artifactId> <version>${druid.version}</version> </dependency> <dependency> <groupId>com.baomidou</groupId> <artifactId>mybatis-plus-boot-starter</artifactId> <version>${mybatis.plus.version}</version> </dependency> <dependency> <groupId>log4j</groupId> <artifactId>log4j</artifactId> <version>${log4j.version}</version> </dependency> <dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <version>${lombok.version}</version> <optional>true</optional> </dependency> </dependencies> </dependencyManagement> <build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> <configuration> <fork>true</fork> <addResources>true</addResources> </configuration> </plugin> </plugins> </build> </project>