基于Spring Cloud的微服務(wù)電商平臺系統(tǒng),這個項目手把手教你實現(xiàn)
一年之計在于春,新年就要有新的打算,TJ君身邊不少小伙伴都有點想在新的一年里開個網(wǎng)店的沖動,但是如何入手、如何開店都是個學(xué)問,需要好好研究,不過這也說明了電商行業(yè)的前景還是不錯滴。
所以當(dāng)TJ君今天留意到這個開源項目的時候,第一反應(yīng)就是,可用!推薦!
mall4cloud
說到mall4cloud,不得不先說下Mall4j。
Mall4j是一個商用的提供多元化電商服務(wù),滿足企業(yè)多場景業(yè)務(wù)需求,為垂直行業(yè)提供專業(yè)的電商解決方案網(wǎng)站,提供多種成熟的電商配套服務(wù),而mall4cloud則正是它的開源版本!
此開源版本,是一個基于Spring Cloud、Nacos、Seata、Mysql、Redis、RocketMQ、canal、ElasticSearch、minio的微服務(wù)B2B2C電商商城系統(tǒng),非常良心的沒有其他二次封裝,真正做到完全開源,小伙伴們無論是學(xué)習(xí),還是二次開發(fā),都是非常合適的一個項目。
項目使用 AGPLv3 開源規(guī)則,采用主流的互聯(lián)網(wǎng)技術(shù)架構(gòu),支持集群部署、服務(wù)注冊和發(fā)現(xiàn)以及擁有完整的訂單流程,同時還擁有不錯的UI設(shè)計效果。
先看看整體目錄結(jié)構(gòu)及應(yīng)用分層:
其中各項分層解釋是這樣的:
- VO(View Object):顯示層對象,通常是 Web 向模板渲染引擎層傳輸?shù)膶ο蟆?/li>
- DTO(Data Transfer Object):數(shù)據(jù)傳輸對象,前端像后臺進行傳輸?shù)膶ο螅愃朴趐aram。
- BO(Business Object):業(yè)務(wù)對象,內(nèi)部業(yè)務(wù)對象,只在內(nèi)部傳遞,不對外進行傳遞。
- Model:模型層,此對象與數(shù)據(jù)庫表結(jié)構(gòu)一一對應(yīng),通過 Mapper 層向上傳輸數(shù)據(jù)源對象。
- Controller:主要是對外部訪問控制進行轉(zhuǎn)發(fā),各類基本參數(shù)校驗,或者不復(fù)用的業(yè)務(wù)簡單處理等。為了簡單起見,一些與事務(wù)無關(guān)的代碼也在這里編寫。
- FeignClient:由于微服務(wù)之間存在互相調(diào)用,這里是內(nèi)部請求的接口。
- Controller:主要是對內(nèi)部訪問控制進行轉(zhuǎn)發(fā),各類基本參數(shù)校驗,或者不復(fù)用的業(yè)務(wù)簡單處理等。為了簡單起見,一些與事務(wù)無關(guān)的代碼也在這里編寫。
- Service 層:相對具體的業(yè)務(wù)邏輯服務(wù)層。
- Mapper持久層:數(shù)據(jù)訪問層,與底層 MySQL進行數(shù)據(jù)交互。
- Listener:監(jiān)聽 RocketMQ 進行處理,有時候會監(jiān)聽easyexcel相關(guān)數(shù)據(jù)。
- Manager 層:通用業(yè)務(wù)處理層,主要有三個特點。
- 個 DAO 的組合復(fù)用。
了解了這些我們還可以看下項目的架構(gòu)圖:
然后還可以看下實際運行的效果:
訂單界面
平臺管理界面
小程序界面
項目還提供了一系列的開發(fā)及搭建文檔,供小伙伴們在使用過程中查看: