SpringCloud Alibaba 基本開發(fā)框架搭建過程
在上一節(jié),我們已經(jīng)完成了項目的整體技術(shù)架構(gòu)設(shè)計和具體的數(shù)據(jù)庫設(shè)計,接下來,我們搭建整體的開發(fā)框架。
開發(fā)工具選用Idea。
開發(fā)工具只是為了提高效率,如果不習(xí)慣Idea的話,STS使用起來也是OK的。
1、創(chuàng)建多Module工程
1.1、創(chuàng)建父工程
創(chuàng)建一個父項目,項目命名為eshop-project,用于管理子模塊功能。
新建Project
選擇Maven工程,next
填寫GroupId和ArtifactID
填寫項目名,選擇項目位置
刪除src,添加maven配置
<!--設(shè)置為pom,管理依賴--> <packaging>pom</packaging> <!--使用properties統(tǒng)一管理屬性--> <properties> <java.version>1.8</java.version> </properties>
需要注意,我們這里最好統(tǒng)一設(shè)置一下Jdk編譯版本,默認(rèn)的編譯版本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、創(chuàng)建子module 選中父項目,右鍵,新建module
選擇Maven工程
填寫子module工程名
創(chuàng)建完成,完成效果
OK,到此我們的子module就創(chuàng)建完成了。接下來如法炮制,創(chuàng)建另外幾個子module,結(jié)果如下:
這里我們按照之前的業(yè)務(wù)模塊拆分來創(chuàng)建每個子工程,子工程對應(yīng)的功能:
- eshop-common:通用的工具類,實體包等等。
- eshop-finance:支付子服務(wù),對應(yīng)shop-finance庫。
- eshop-goods:商品子服務(wù),對應(yīng)shop-goods庫。
- eshop-order:訂單子服務(wù),對應(yīng)shop-order庫。
- eshop-stock:庫存子服務(wù),對應(yīng)shop-stock庫。
- eshop-user:用戶自服務(wù),對應(yīng)shop-user庫。
注意業(yè)務(wù)和功能粒度的劃分,我們這里劃分到了每個業(yè)務(wù)子模塊,但是對應(yīng)的mvc分層沒有劃分。在實際的生產(chǎn)中,可能會根據(jù)實際情況,把視圖層、服務(wù)層、持久層再度拆分。這樣更細(xì)的粒度,更方便小團(tuán)隊的開發(fā)。
我們這里只是為了開發(fā)的方便,在實際的項目中,我們對應(yīng)的每個服務(wù)一般都會單獨創(chuàng)建項目,由不同的小組來進(jìn)行維護(hù),開發(fā)、測試過程只需要把服務(wù)注冊在統(tǒng)一的注冊中心就可以了。
這樣一個粗略的開發(fā)框架就搭建起來了,下一節(jié)我們會接著完善它,包括引入SpringBoot、MybatisPlus等等。
2、使用Gti進(jìn)行版本控制
Git是現(xiàn)在最流行的版本控制系統(tǒng)。在企業(yè)級的微服務(wù)項目中,一般使用Gti進(jìn)行版本控制,使用GitLab搭建遠(yuǎn)程倉庫。
在這里,我們選擇使用Gitee作為我們的遠(yuǎn)程倉庫。
關(guān)于Giit的基礎(chǔ)使用,可以查看我的這篇博客:IDEA+GIT使用入門圖文詳解
2.1、初始化本地倉庫 打開項目路徑,右鍵git bash
執(zhí)行初始化本地倉庫命令 git init
在項目目錄下創(chuàng)建文件文件.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微服務(wù)項目初始化"
通常我們還會創(chuàng)建一個開發(fā)分支,由于只是個簡單demo,我們這里就不建了。
2.2、初始化遠(yuǎn)程倉庫
gitee是國內(nèi)版的github,最近github訪問很不穩(wěn)定,所以選擇將遠(yuǎn)程倉庫放在gitee。關(guān)于Github和Gitee的配置,可以查看我的這篇博客:Gitee的下載安裝配置及使用步驟詳解
Windows配置Github、Gitee共存的Git環(huán)境
打開gitee,新建倉庫
填寫倉庫名城,倉庫介紹,開源等等
可以看到,我們的遠(yuǎn)程倉庫已經(jīng)創(chuàng)建完成,可以看到倉庫還是空空如也
本地倉庫關(guān)聯(lián)遠(yuǎn)程倉庫,拷貝倉庫地址,在本地倉庫,使用命令關(guān)聯(lián)遠(yuǎn)程倉庫:
$ git remote add origin git@gitee.com:fighter3/eshop-project.git
使用命令推送本地提交到遠(yuǎn)程倉庫
$ git push origin master
OK,在遠(yuǎn)程倉庫,已經(jīng)可以看到我們的提交了。
“簡單的事情重復(fù)做,重復(fù)的事情認(rèn)真做,認(rèn)真的事情有創(chuàng)造性地做!”——
我是三分惡,可以叫我老三/三分/三哥/三子,一個能文能武的全棧開發(fā),咱們下期見!
參考:
【1】小專欄 《SpringCloudAlibaba微服務(wù)實戰(zhàn)》
【2】:Spring Cloud Alibaba系列之-項目搭建(一)
以上就是SpringCloud Alibaba 基本開發(fā)框架搭建過程的詳細(xì)內(nèi)容,更多關(guān)于SpringCloud Alibaba 開發(fā)框架的資料請關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
Java 17 隨機數(shù)生成器來了一波穩(wěn)穩(wěn)的增強
JDK 當(dāng)中的隨機數(shù)生成器其實對于普通開發(fā)者來講基本夠用,不過對于一些比較復(fù)雜的場景來講,原有的類結(jié)構(gòu)對擴展并不是很友好,除了 Random 類,JDK 當(dāng)中還提供了另外幾個隨機數(shù)的成員,下面文章將詳細(xì)介紹,需要的朋友可以參考一下2021-09-09SpringBoot+layui實現(xiàn)文件上傳功能
Spring Boot是由Pivotal團(tuán)隊提供的全新框架,其設(shè)計目的是用來簡化新Spring應(yīng)用的初始搭建以及開發(fā)過程。這篇文章主要介紹了SpringBoot+layui實現(xiàn)文件上傳,需要的朋友可以參考下2018-09-09SpringBoot項目鑒權(quán)的4種方式小結(jié)
本文主要介紹了SpringBoot項目鑒權(quán)的4種方式小結(jié),包括傳統(tǒng)AOP、攔截器、參數(shù)解析器和過濾器,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下2021-12-12擴展Hibernate使用自定義數(shù)據(jù)庫連接池的方法
這篇文章主要介紹了擴展Hibernate使用自定義數(shù)據(jù)庫連接池的方法,涉及Hibernate數(shù)據(jù)庫操作擴展的相關(guān)技巧,需要的朋友可以參考下2016-03-03