天天看點

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

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

開發工具選用Idea。

SpringCloud Alibaba實戰(4:基本開發架構搭建)
開發工具隻是為了提高效率,如果不習慣Idea的話,STS使用起來也是OK的。

1、建立多Module工程

1.1、建立父工程

建立一個父項目,項目命名為eshop-project,用于管理子子產品功能。

  • 建立Project
SpringCloud Alibaba實戰(4:基本開發架構搭建)
  • 選擇Maven工程,next
SpringCloud Alibaba實戰(4:基本開發架構搭建)
  • 填寫GroupId和ArtifactID
SpringCloud Alibaba實戰(4:基本開發架構搭建)
  • 填寫項目名,選擇項目位置
SpringCloud Alibaba實戰(4:基本開發架構搭建)
  • 删除src,添加maven配置
SpringCloud Alibaba實戰(4:基本開發架構搭建)
<!--設定為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
SpringCloud Alibaba實戰(4:基本開發架構搭建)
  • 選擇Maven工程
  • 填寫子module工程名
  • 建立完成,完成效果
SpringCloud Alibaba實戰(4:基本開發架構搭建)

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

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

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

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

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

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

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

2、使用Gti進行版本控制

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

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

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

2.1、初始化本地倉庫

  • 打開項目路徑,右鍵git bash
SpringCloud Alibaba實戰(4:基本開發架構搭建)
  • 執行初始化本地倉庫指令

    git init

  • 在項目目錄下建立檔案檔案

    .gitignore

    ,寫入需要忽視送出的檔案類型
    SpringCloud Alibaba實戰(4:基本開發架構搭建)
# 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,建立倉庫
SpringCloud Alibaba實戰(4:基本開發架構搭建)
  • 填寫倉庫名城,倉庫介紹,開源等等
SpringCloud Alibaba實戰(4:基本開發架構搭建)
  • 可以看到,我們的遠端倉庫已經建立完成,可以看到倉庫還是空空如也
SpringCloud Alibaba實戰(4:基本開發架構搭建)
  • 本地倉庫關聯遠端倉庫,拷貝倉庫位址,在本地倉庫,使用指令關聯遠端倉庫:
$ git remote add origin [email protected]:fighter3/eshop-project.git
           
  • 使用指令推送本地送出到遠端倉庫
$ git push origin master
           
SpringCloud Alibaba實戰(4:基本開發架構搭建)

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

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

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

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

參考:

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

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

繼續閱讀