SpringCloud Alibaba 基本開(kāi)發(fā)框架搭建過(guò)程
在上一節(jié),我們已經(jīng)完成了項(xiàng)目的整體技術(shù)架構(gòu)設(shè)計(jì)和具體的數(shù)據(jù)庫(kù)設(shè)計(jì),接下來(lái),我們搭建整體的開(kāi)發(fā)框架。
開(kāi)發(fā)工具選用Idea。

開(kāi)發(fā)工具只是為了提高效率,如果不習(xí)慣Idea的話(huà),STS使用起來(lái)也是OK的。
1、創(chuàng)建多Module工程
1.1、創(chuàng)建父工程
創(chuàng)建一個(gè)父項(xiàng)目,項(xiàng)目命名為eshop-project,用于管理子模塊功能。
新建Project

選擇Maven工程,next

填寫(xiě)GroupId和ArtifactID

填寫(xiě)項(xiàng)目名,選擇項(xiàng)目位置

刪除src,添加maven配置

<!--設(shè)置為pom,管理依賴(lài)-->
<packaging>pom</packaging>
<!--使用properties統(tǒng)一管理屬性-->
<properties>
<java.version>1.8</java.version>
</properties>
需要注意,我們這里最好統(tǒng)一設(shè)置一下Jdk編譯版本,默認(rèn)的編譯版本1.5可能會(huì)影響我們使用一些新特性:
<!--配置編譯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 選中父項(xiàng)目,右鍵,新建module

選擇Maven工程

填寫(xiě)子module工程名

創(chuàng)建完成,完成效果

OK,到此我們的子module就創(chuàng)建完成了。接下來(lái)如法炮制,創(chuàng)建另外幾個(gè)子module,結(jié)果如下:

這里我們按照之前的業(yè)務(wù)模塊拆分來(lái)創(chuàng)建每個(gè)子工程,子工程對(duì)應(yīng)的功能:
- eshop-common:通用的工具類(lèi),實(shí)體包等等。
- eshop-finance:支付子服務(wù),對(duì)應(yīng)shop-finance庫(kù)。
- eshop-goods:商品子服務(wù),對(duì)應(yīng)shop-goods庫(kù)。
- eshop-order:訂單子服務(wù),對(duì)應(yīng)shop-order庫(kù)。
- eshop-stock:庫(kù)存子服務(wù),對(duì)應(yīng)shop-stock庫(kù)。
- eshop-user:用戶(hù)自服務(wù),對(duì)應(yīng)shop-user庫(kù)。
注意業(yè)務(wù)和功能粒度的劃分,我們這里劃分到了每個(gè)業(yè)務(wù)子模塊,但是對(duì)應(yīng)的mvc分層沒(méi)有劃分。在實(shí)際的生產(chǎn)中,可能會(huì)根據(jù)實(shí)際情況,把視圖層、服務(wù)層、持久層再度拆分。這樣更細(xì)的粒度,更方便小團(tuán)隊(duì)的開(kāi)發(fā)。
我們這里只是為了開(kāi)發(fā)的方便,在實(shí)際的項(xiàng)目中,我們對(duì)應(yīng)的每個(gè)服務(wù)一般都會(huì)單獨(dú)創(chuàng)建項(xiàng)目,由不同的小組來(lái)進(jìn)行維護(hù),開(kāi)發(fā)、測(cè)試過(guò)程只需要把服務(wù)注冊(cè)在統(tǒng)一的注冊(cè)中心就可以了。

這樣一個(gè)粗略的開(kāi)發(fā)框架就搭建起來(lái)了,下一節(jié)我們會(huì)接著完善它,包括引入SpringBoot、MybatisPlus等等。
2、使用Gti進(jìn)行版本控制
Git是現(xiàn)在最流行的版本控制系統(tǒng)。在企業(yè)級(jí)的微服務(wù)項(xiàng)目中,一般使用Gti進(jìn)行版本控制,使用GitLab搭建遠(yuǎn)程倉(cāng)庫(kù)。
在這里,我們選擇使用Gitee作為我們的遠(yuǎn)程倉(cāng)庫(kù)。
關(guān)于Giit的基礎(chǔ)使用,可以查看我的這篇博客:IDEA+GIT使用入門(mén)圖文詳解
2.1、初始化本地倉(cāng)庫(kù) 打開(kāi)項(xiàng)目路徑,右鍵git bash

執(zhí)行初始化本地倉(cāng)庫(kù)命令 git init

在項(xiàng)目目錄下創(chuàng)建文件文件.gitignore,寫(xiě)入需要忽視提交的文件類(lèi)型

# 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ù)項(xiàng)目初始化"
通常我們還會(huì)創(chuàng)建一個(gè)開(kāi)發(fā)分支,由于只是個(gè)簡(jiǎn)單demo,我們這里就不建了。
2.2、初始化遠(yuǎn)程倉(cāng)庫(kù)
gitee是國(guó)內(nèi)版的github,最近github訪問(wèn)很不穩(wěn)定,所以選擇將遠(yuǎn)程倉(cāng)庫(kù)放在gitee。關(guān)于Github和Gitee的配置,可以查看我的這篇博客:Gitee的下載安裝配置及使用步驟詳解
Windows配置Github、Gitee共存的Git環(huán)境
打開(kāi)gitee,新建倉(cāng)庫(kù)

填寫(xiě)倉(cāng)庫(kù)名城,倉(cāng)庫(kù)介紹,開(kāi)源等等

可以看到,我們的遠(yuǎn)程倉(cāng)庫(kù)已經(jīng)創(chuàng)建完成,可以看到倉(cāng)庫(kù)還是空空如也

本地倉(cāng)庫(kù)關(guān)聯(lián)遠(yuǎn)程倉(cāng)庫(kù),拷貝倉(cāng)庫(kù)地址,在本地倉(cāng)庫(kù),使用命令關(guān)聯(lián)遠(yuǎn)程倉(cāng)庫(kù):
$ git remote add origin git@gitee.com:fighter3/eshop-project.git
使用命令推送本地提交到遠(yuǎn)程倉(cāng)庫(kù)
$ git push origin master

OK,在遠(yuǎn)程倉(cāng)庫(kù),已經(jīng)可以看到我們的提交了。

“簡(jiǎn)單的事情重復(fù)做,重復(fù)的事情認(rèn)真做,認(rèn)真的事情有創(chuàng)造性地做!”——
我是三分惡,可以叫我老三/三分/三哥/三子,一個(gè)能文能武的全棧開(kāi)發(fā),咱們下期見(jiàn)!
參考:
【1】小專(zhuān)欄 《SpringCloudAlibaba微服務(wù)實(shí)戰(zhàn)》
【2】:Spring Cloud Alibaba系列之-項(xiàng)目搭建(一)
以上就是SpringCloud Alibaba 基本開(kāi)發(fā)框架搭建過(guò)程的詳細(xì)內(nèi)容,更多關(guān)于SpringCloud Alibaba 開(kāi)發(fā)框架的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
Spring?Boot詳解五種實(shí)現(xiàn)跨域的方式
跨域指的是瀏覽器不能執(zhí)?其他?站的腳本。它是由瀏覽器的同源策略造成的,是瀏覽器對(duì)javascript施加的安全限制,這篇文章主要介紹了springboot實(shí)現(xiàn)跨域的5種方式,需要的朋友可以參考下2022-06-06
java 算法之希爾排序詳解及實(shí)現(xiàn)代碼
這篇文章主要介紹了java 算法之希爾排序詳解及實(shí)現(xiàn)代碼的相關(guān)資料,需要的朋友可以參考下2017-03-03
Java 17 隨機(jī)數(shù)生成器來(lái)了一波穩(wěn)穩(wěn)的增強(qiáng)
JDK 當(dāng)中的隨機(jī)數(shù)生成器其實(shí)對(duì)于普通開(kāi)發(fā)者來(lái)講基本夠用,不過(guò)對(duì)于一些比較復(fù)雜的場(chǎng)景來(lái)講,原有的類(lèi)結(jié)構(gòu)對(duì)擴(kuò)展并不是很友好,除了 Random 類(lèi),JDK 當(dāng)中還提供了另外幾個(gè)隨機(jī)數(shù)的成員,下面文章將詳細(xì)介紹,需要的朋友可以參考一下2021-09-09
Java實(shí)現(xiàn)求二叉樹(shù)的深度和寬度
這篇文章主要介紹了Java實(shí)現(xiàn)求二叉樹(shù)的深度和寬度,本文分別給出代碼實(shí)例,需要的朋友可以參考下2015-06-06
SpringBoot+layui實(shí)現(xiàn)文件上傳功能
Spring Boot是由Pivotal團(tuán)隊(duì)提供的全新框架,其設(shè)計(jì)目的是用來(lái)簡(jiǎn)化新Spring應(yīng)用的初始搭建以及開(kāi)發(fā)過(guò)程。這篇文章主要介紹了SpringBoot+layui實(shí)現(xiàn)文件上傳,需要的朋友可以參考下2018-09-09
如何使用IDEA 搭建 SpringCloud 項(xiàng)目
所謂微服務(wù),就是要把整個(gè)業(yè)務(wù)模塊拆分成多個(gè)各司其職的小模塊,做到單一職責(zé)原則,不會(huì)重復(fù)開(kāi)發(fā)相同的業(yè)務(wù)代碼,實(shí)現(xiàn)真正意義上的高內(nèi)聚、低耦合,這篇文章主要介紹了如何使用IDEA 搭建 SpringCloud 項(xiàng)目,需要的朋友可以參考下2023-11-11
SpringBoot項(xiàng)目鑒權(quán)的4種方式小結(jié)
本文主要介紹了SpringBoot項(xiàng)目鑒權(quán)的4種方式小結(jié),包括傳統(tǒng)AOP、攔截器、參數(shù)解析器和過(guò)濾器,文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-12-12
擴(kuò)展Hibernate使用自定義數(shù)據(jù)庫(kù)連接池的方法
這篇文章主要介紹了擴(kuò)展Hibernate使用自定義數(shù)據(jù)庫(kù)連接池的方法,涉及Hibernate數(shù)據(jù)庫(kù)操作擴(kuò)展的相關(guān)技巧,需要的朋友可以參考下2016-03-03

