SpringCloud Alibaba版本教程-开始

虽然网上讲SpringCloud Alibaba版本的视频很多,但是很多视频教程很麻烦。个人之前的工作中并未使用过SpringCloud Alibaba,这里我将以一个初学者的视角来编写本教程。之所以以一个新手的身份来编写,这样可以让初学者体会更深,同时也可能让你知道作为一个新手在实际学习过程中存在的问题。

如果发现教程中存在不正确的地方,还请各位在评论区中指出,我看到一定会及时纠正。

版本

首先就是SpringCloud版本的问题,本人看过Spring官网中的介绍,但是还是有点懵逼搞不太清楚版本。不过在Spring Cloud Alibabagithub中有版本说明,其地址如下:

https://github.com/alibaba/spring-cloud-alibaba/wiki/%E7%89%88%E6%9C%AC%E8%AF%B4%E6%98%8E

简单的来说需要考虑三个版本:

  • Spring Boot版本。其实SpringCloud也是在Spring Boot之上进行开发的,抛开微服务相关内容,其实和平常使用Spring Boot没什么不同。如果说你们实际开发中对SpringBoot版本有特别要求,那么这点将会非常重要。

  • Spring Cloud版本。

  • Spring Cloud Alibaba版本。该版本会影响部分其他组件版本,例如Nacos、Sentinel等。

在我上面那个链接中有相关版本详细说明,如果在你实际应用中你可以根据wiki中接受选择。同时淘宝还提供了一个云原生脚手架网站让你在网页上构建项目。其地址如下:

https://start.aliyun.com

我根据平常使用习惯,我这里的版本选择如下:

  • Spring Boot版本为2.4.2

  • Spring Cloud版本为Spring Cloud 2020.0.1

  • Spring Cloud Alibaba版本为2021.1

后续教程中都会以该版本为基础,如果有修改将会做特殊说明。

构建项目

我这里使用maven构建父子聚合项目,也就是说我们先构建一个父项目,然后下面有很多子项目。一般来说,这些项目会有很多相同的依赖,我们这里正好通过父项目来管理这些依赖,避免后期版本升级维护的麻烦。

<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.4.2</version>
    </parent>

    <groupId>com.zc</groupId>
    <artifactId>spring-cloud-alibaba-demo</artifactId>
    <version>1.0-SNAPSHOT</version>
    <packaging>pom</packaging>
    <name>spring-cloud-alibaba-demo</name>

    <properties>
        <maven.compiler.source>8</maven.compiler.source>
        <maven.compiler.target>8</maven.compiler.target>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <spring-cloud-alibaba.version>2021.1</spring-cloud-alibaba.version>
        <spring-cloud.version>2020.0.1</spring-cloud.version>
        
    </properties>

    <dependencyManagement>
        <dependencies>
            <!--      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>
            <!--      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>
        </dependencies>
    </dependencyManagement>

    <build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>3.8.1</version>
                <configuration>
                    <source>1.8</source>
                    <target>1.8</target>
                    <encoding>UTF-8</encoding>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
                <version>${spring-boot.version}</version>
                <executions>
                    <execution>
                        <id>repackage</id>
                        <goals>
                            <goal>repackage</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
        </plugins>
    </build>

</project>

上面为父项目的pom配置文件,里面通过dependencyManagement管理依赖。在父项目中,这些依赖并不会引入。而在子项目中我们只需要添加依赖,不需要指定版本,默认情况下就是使用的父项目中的依赖版本。

如果不懂父子聚合工程可以先去网上找项目文章了解一下。

小结

目前文章只是介绍了版本相关问题以及创建了一个聚合工程,后续我们将会一一讲解如何使用相关组件。

示例代码工程:https://github.com/I-Like-Pepsi/spring-cloud-alibaba-demo


原文始发于微信公众号(一只菜鸟程序员):SpringCloud Alibaba版本教程-开始

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/72791.html

(0)
小半的头像小半

相关推荐

发表回复

登录后才能评论
极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!