专业的编程技术博客社区

网站首页 > 博客文章 正文

第1章:SpringCloudAlibaba开发环境搭建

baijin 2024-08-29 12:27:50 博客文章 2 ℃ 0 评论

终身学习、乐于分享、共同成长!

前言

你是否能从零开始搭建一套SpringCloudAlibaba开发脚手架呢?

在实际的项目开发中,一般不需要我们自己搭建一个开发环境,公司一般都会有一套现成的项目初始化开发脚手架,但作为一个对技术充满热爱的工程师来说,怎么能不了解一下如何搭建一套开发脚手架呢?

自己动手去搭建一个开发环境能帮助我们理解其中的原理,也能让我们理解脚手架的每个部分是干嘛的,让我们知道怎么去改脚手架的内容,下面跟着我的博客一起搭建一个SpringCloudAlibaba的开发环境吧。

目标

开发脚手架有什么作用?

本章目标:完成SpringCloudAlibaba开发环境搭建

开发脚手架的作用主要就是提升效率,当我们有一个可重复使用开发环境,那我们在不断做业务项目的过程中就能省去环境搭建所耗费的时间,提升我们的工作效率。

实现

  1. 环境

JDK:1.8

SpringCloud:Hoxton.SR12

Spring Cloud Alibaba:2.2.9.RELEASE

SpringBoot:2.3.12.RELEASE

开发工具:IDEA

2.工程结构

springcloudalibaba-study
├── springcloudalibaba-step-01
|    ├──src
|    |    ├── main
|    |    │   ├── java
|    |    │   |    └── cn.codelab.step01
|    |    │   |        └── Step01Application.java
|    |    |   └── resources
|    |    |         └── application.properties   
|    |    └── test
|    |        └── java
|    |            └── cn.codelab.step01.test
|    └── pom.xml
└── pom.xml

2.1 首先使用IDEA创建一个Maven工程springcloudalibaba-study,这个工程是一个父工程,主要作用是为后续的子工程提供Maven依赖的管理,统一管理公共依赖,起到版本管理器的作用,接下来对pom.xml文件的重点设置进行讲解。

  • 1.将工程的打包方式改为pom。由于父工程作为依赖的版本管理器使用,不需要单独打包部署,因此将打包方式改为pom。
<packaging>pom</packaging>
  • 2.添加properties属性配置。主要设置各个依赖的版本号,方便统一管理及复用,这里暂时设置jdk版本、SpringCloudAlibaba的依赖版本、SpringBoot版本以及SpringCloud的版本,后续其他依赖的版本号可以继续增加。
    <properties>
        <java.version>1.8</java.version>
        <spring-cloud-alibaba.version>2.2.9.RELEASE</spring-cloud-alibaba.version>
        <springboot.version>2.3.12.RELEASE</springboot.version>
        <spring-cloud.version>Hoxton.SR12</spring-cloud.version>
    </properties>
  • 3.添加SpringCloudAlibaba、SpringCloud、以及SpringBoot的版本管理器。
<dependencyManagement>
        <dependencies>
            <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>
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-parent</artifactId>
                <version>${springboot.version}</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
            <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>
  • 4.添加公共依赖。添加子工程中可能用到的公共依赖。
    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter</artifactId>
        </dependency>

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>
    </dependencies>

这里解释一下为什么这里添加依赖不用指定版本号,原因就在于前面第3步我们添加了版本管理器,所以Maven会自动去版本管理器中获取对应依赖的版本号,当然如果这个依赖没有在版本管理器中定义,则还是需要自己手动添加版本号的。

完整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 https://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <groupId>cn.codelab.study</groupId>
    <artifactId>springcloudalibaba-study</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <packaging>pom</packaging>
    <name>springcloudalibaba-study</name>

    <properties>
        <java.version>1.8</java.version>
        <spring-cloud-alibaba.version>2.2.9.RELEASE</spring-cloud-alibaba.version>
        <springboot.version>2.3.12.RELEASE</springboot.version>
        <spring-cloud.version>Hoxton.SR12</spring-cloud.version>
    </properties>

    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter</artifactId>
        </dependency>

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>
    </dependencies>

    <dependencyManagement>
        <dependencies>
            <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>
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-parent</artifactId>
                <version>${springboot.version}</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
            <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>

    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>
    </build>

</project>

3.创建Maven子工程springcloudalibaba-step-01。springcloudalibaba-step-01是一个可打包发布的项目工程。

  • 将parent设置为springcloudalibaba-study父工程。
    <parent>
        <groupId>cn.codelab.study</groupId>
        <artifactId>springcloudalibaba-study</artifactId>
        <version>0.0.1-SNAPSHOT</version>
    </parent>

完整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 https://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <parent>
        <groupId>cn.codelab.study</groupId>
        <artifactId>springcloudalibaba-study</artifactId>
        <version>0.0.1-SNAPSHOT</version>
    </parent>
    <groupId>cn.codelab.study</groupId>
    <artifactId>springcloudalibaba-step-01</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <name>springcloudalibaba-step-01</name>

    <properties>
        <java.version>1.8</java.version>
    </properties>

    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
            <optional>true</optional>
        </dependency>
    </dependencies>

    <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>
            </plugin>
        </plugins>
    </build>

</project>
  • 编辑application.properties设置端口为8001。这步根据个人实际来设置
server.port=8001
  • 运行Application.java类,观察运行运行日志是否启动成功。

通过启动日志可以看到,目前step01应用正常启动了,至此SpringCloudAlibaba开发环境搭建完成。

  • 完整代码可以在公众号Seven的代码实验室中回复SpringCloudAlibaba获取。

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表