在上一節,我們已經完成了專案的整體技術架構設計和具體的資料庫設計,接下來,我們搭建整體的開發框架。
開發工具選用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微服務實戰》