在上一節,我們已經完成了項目的整體技術架構設計和具體的數據庫設計,接下來,我們搭建整體的開發框架。
開發工具選用Idea。

開發工具只是為了提高效率,如果不習慣Idea的話,STS使用起來也是OK的。
1、創建多Module工程
1.1、創建父工程
創建一個父項目,項目命名為eshop-project,用於管理子模塊功能。
- 新建Project

- 選擇Maven工程,next

- 填寫GroupId和ArtifactID

- 填寫項目名,選擇項目位置

- 刪除src,添加maven配置

<!--設置為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

- 選擇Maven工程

- 填寫子module工程名

- 創建完成,完成效果

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

這里我們按照之前的業務模塊拆分來創建每個子工程,子工程對應的功能:
- 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

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

-
在項目目錄下創建文件文件
.gitignore,寫入需要忽視提交的文件類型
# 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,新建倉庫

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

- 可以看到,我們的遠程倉庫已經創建完成,可以看到倉庫還是空空如也

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

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

"簡單的事情重復做,重復的事情認真做,認真的事情有創造性地做!"——
我是三分惡,可以叫我老三/三分/三哥/三子,一個能文能武的全棧開發,咱們下期見!
參考:
【1】小專欄 《SpringCloudAlibaba微服務實戰》
