查看原文
其他

基于Spring Cloud的微服务电商平台系统,这个项目手把手教你实现

SpringForAll 2022-07-05

The following article is from TJ君 Author TJ

一年之计在于春,新年就要有新的打算,TJ君身边不少小伙伴都有点想在新的一年里开个网店的冲动,但是如何入手、如何开店都是个学问,需要好好研究,不过这也说明了电商行业的前景还是不错滴。

所以当TJ君今天留意到这个开源项目的时候,第一反应就是,可用!推荐!

mall4cloud

说到mall4cloud,不得不先说下Mall4j。

Mall4j是一个商用的提供多元化电商服务,满足企业多场景业务需求,为垂直行业提供专业的电商解决方案网站,提供多种成熟的电商配套服务,而mall4cloud则正是它的开源版本!

此开源版本,是一个基于Spring Cloud、Nacos、Seata、Mysql、Redis、RocketMQ、canal、ElasticSearch、minio的微服务B2B2C电商商城系统,非常良心的没有其他二次封装,真正做到完全开源,小伙伴们无论是学习,还是二次开发,都是非常合适的一个项目。

项目使用 AGPLv3 开源规则,采用主流的互联网技术架构,支持集群部署、服务注册和发现以及拥有完整的订单流程,同时还拥有不错的UI设计效果。

先看看整体目录结构及应用分层:

其中各项分层解释是这样的:

  • VO(View Object):显示层对象,通常是 Web 向模板渲染引擎层传输的对象。
  • DTO(Data Transfer Object):数据传输对象,前端像后台进行传输的对象,类似于param。
  • BO(Business Object):业务对象,内部业务对象,只在内部传递,不对外进行传递。
  • Model:模型层,此对象与数据库表结构一一对应,通过 Mapper 层向上传输数据源对象。
  • Controller:主要是对外部访问控制进行转发,各类基本参数校验,或者不复用的业务简单处理等。为了简单起见,一些与事务无关的代码也在这里编写。
  • FeignClient:由于微服务之间存在互相调用,这里是内部请求的接口。
  • Controller:主要是对内部访问控制进行转发,各类基本参数校验,或者不复用的业务简单处理等。为了简单起见,一些与事务无关的代码也在这里编写。
  • Service 层:相对具体的业务逻辑服务层。
  • Mapper持久层:数据访问层,与底层 MySQL进行数据交互。
  • Listener:监听 RocketMQ 进行处理,有时候会监听easyexcel相关数据。
  • Manager 层:通用业务处理层,主要有三个特点。
    • 对第三方平台封装的层,预处理返回结果及转化异常信息,适配上层接口。
    • 对 Service 层通用能力的下沉,如缓存方案、中间件通用处理。
    • 与 DAO 层交互,对多个 DAO 的组合复用。

了解了这些我们还可以看下项目的架构图:

然后还可以看下实际运行的效果:

订单界面

平台管理界面

小程序界面

项目还提供了一系列的开发及搭建文档,供小伙伴们在使用过程中查看:

怎么样?想试试电商项目的小伙伴,不要犹豫啦,赶紧来学学吧,地址在这里:

点击下方卡片,关注公众号“TJ君

回复“mall4cloud”,获取仓库地址

关注我,每天了解一个牛x、好用、有趣的东东

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存