SpringCloud Alibaba實戰(4:基本開發框架搭建)

三分惡發表於2021-06-10

在上一節,我們已經完成了專案的整體技術架構設計和具體的資料庫設計,接下來,我們搭建整體的開發框架。

開發工具選用Idea。

Idea

開發工具只是為了提高效率,如果不習慣Idea的話,STS使用起來也是OK的。

1、建立多Module工程

1.1、建立父工程

建立一個父專案,專案命名為eshop-project,用於管理子模組功能。

  • 新建Project

image-20210513230257597

  • 選擇Maven工程,next

image-20210513230402707

  • 填寫GroupId和ArtifactID

image-20210513230634967

  • 填寫專案名,選擇專案位置

image-20210513230846984

  • 刪除src,新增maven配置

image-20210513231446548

    <!--設定為pom,管理依賴-->
    <packaging>pom</packaging>

    <!--使用properties統一管理屬性-->
    <properties>
        <java.version>1.8</java.version>
    </properties>

需要注意,我們這裡最好統一設定一下Jdk編譯版本,預設的編譯版本1.5可能會影響我們使用一些新特性:

    <!--配置編譯JDK版本-->
    <build>
        <plugins>
            <!--JDK版本 -->
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>2.5.1</version>
                <configuration>
                    <source>1.8</source>
                    <target>1.8</target>
                    <encoding>UTF-8</encoding>
                    <showWarnings>true</showWarnings>
                </configuration>
            </plugin>
        </plugins>
    </build>

1.2、建立子module

  • 選中父專案,右鍵,新建module

image-20210513231840628

  • 選擇Maven工程

image-20210513232013174

  • 填寫子module工程名

image-20210513232050944

  • 建立完成,完成效果

image-20210513232240630

OK,到此我們的子module就建立完成了。接下來如法炮製,建立另外幾個子module,結果如下:

image-20210513232829493

這裡我們按照之前的業務模組拆分來建立每個子工程,子工程對應的功能:

  • eshop-common:通用的工具類,實體包等等。
  • eshop-finance:支付子服務,對應shop-finance庫。
  • eshop-goods:商品子服務,對應shop-goods庫。
  • eshop-order:訂單子服務,對應shop-order庫。
  • eshop-stock:庫存子服務,對應shop-stock庫。
  • eshop-user:使用者自服務,對應shop-user庫。

注意業務和功能粒度的劃分,我們這裡劃分到了每個業務子模組,但是對應的mvc分層沒有劃分。在實際的生產中,可能會根據實際情況,把檢視層、服務層、持久層再度拆分。這樣更細的粒度,更方便小團隊的開發。

我們這裡只是為了開發的方便,在實際的專案中,我們對應的每個服務一般都會單獨建立專案,由不同的小組來進行維護,開發、測試過程只需要把服務註冊在統一的註冊中心就可以了。

image-20210513234337498

這樣一個粗略的開發框架就搭建起來了,下一節我們會接著完善它,包括引入SpringBoot、MybatisPlus等等。

2、使用Gti進行版本控制

Git是現在最流行的版本控制系統。在企業級的微服務專案中,一般使用Gti進行版本控制,使用GitLab搭建遠端倉庫。

在這裡,我們選擇使用Gitee作為我們的遠端倉庫。

關於Giit的基礎使用,可以檢視我的這篇部落格:Git全棧開發者使用指南

2.1、初始化本地倉庫

  • 開啟專案路徑,右鍵git bash

image-20210513235053495

  • 執行初始化本地倉庫命令 git init

image-20210513235151184

  • 在專案目錄下建立檔案檔案.gitignore,寫入需要忽視提交的檔案型別

    image-20210513235357111

# Compiled class file
*.class

# Log file
*.log

# BlueJ files
*.ctxt

# Mobile Tools for Java (J2ME)
.mtj.tmp/

**/.idea/**
**/target/**


**/*.iml

*.iml

# Package Files #
*.jar
*.war
*.nar
*.ear
*.zip
*.tar.gz
*.rar

# virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml
hs_err_pid*
  • 首次提交,命令如下:
$ git status
$ git add .
$ git commit -m "?eshop微服務專案初始化"

通常我們還會建立一個開發分支,由於只是個簡單demo,我們這裡就不建了。

2.2、初始化遠端倉庫

gitee是國內版的github,最近github訪問很不穩定,所以選擇將遠端倉庫放在gitee。關於Github和Gitee的配置,可以檢視我的這篇部落格:Windows配置Github、Gitee共存的Git環境

  • 開啟gitee,新建倉庫

image-20210514000131978

  • 填寫倉庫名城,倉庫介紹,開源等等

image-20210514001048659

  • 可以看到,我們的遠端倉庫已經建立完成,可以看到倉庫還是空空如也

image-20210514001127428

  • 本地倉庫關聯遠端倉庫,拷貝倉庫地址,在本地倉庫,使用命令關聯遠端倉庫:
$ git remote add origin git@gitee.com:fighter3/eshop-project.git
  • 使用命令推送本地提交到遠端倉庫
$ git push origin master

image-20210514001327370

OK,在遠端倉庫,已經可以看到我們的提交了。

image-20210514001413107


"簡單的事情重複做,重複的事情認真做,認真的事情有創造性地做!"——

我是三分惡,可以叫我老三/三分/三哥/三子,一個能文能武的全棧開發,我們們下期見!



參考:

【1】小專欄 《SpringCloudAlibaba微服務實戰》

【2】:Spring Cloud Alibaba系列之-專案搭建(一)

相關文章