前言
luban-mall
项目脱胎于开源电商项目mall
,并在这一开源项目的基础上由鲁班学院以伯乐老师为代表的几位讲师等进行了项目增强和完善。它是基于SpringBoot+MyBatis
的电商系统,包括前台商城系统及后台管理系统
前台商城系统包含首页门户、商品推荐、商品搜索、商品展示、购物车、订单流程、会员中心、客户服务、帮助中心等模块。后台管理系统包含商品管理、订单管理、会员管理、促销管理、运营管理、内容管理、统计报表、财务管理、权限管理、代码生成设置等模块。将这一项目吃透,对于Java开发人员来说非常有助于掌握java技术栈中主流的技术框架,既能学习电商项目的架构技术,也能熟悉和掌握电商项目中的业务开发。
1 电商分布式架构图
2 单体架构
对于个人学习而言,最开始我们选择从单体架构开始。后面项目的业务模块多了和复杂起来之后,为了减少项目的耦合度才开始按照相互独立的业务模块拆分出微服务,走分布式系统架构路线。任何事情都应该从简单开始,本电商项目的起步学习阶段采用的是前后端分离的单体架构技术。
2.1 工程介绍
鲁班电商业项目单体架构工程模块图
项目子模块说明:
工程名 | 描述 |
---|---|
mall-common | 基础工程 |
mall-security | 基础校验 |
mall-admin | 商品后台管理系统,包括商品中心、活动管理和订单管理等 |
mall-core | 电商系统业务核心系统,主要进行订单处理 |
mall-search | 商品搜索 |
mb-generator | mybatis工具类 |
luban-admin-web | 管理后台的web项目 |
luban-front-web | 电商前端web项目 |
2.2 技术选型
前后分离
后端技术选型
技术 | 说明 | 官网 |
---|---|---|
Spring Boot | 容器+MVC框架 | https://spring.io/projects/spring-boot |
Spring Security | 认证和授权框架 | https://spring.io/projects/spring-security |
Mybatis | ORM框架 | http://www.mybatis.org/mybatis-3/zh/index.html |
MyBatisGenerator | 数据层代码生成 | http://www.mybatis.org/generator/index.html |
PageHelper | MyBatis物理分页插件 | http://git.oschina.net/free/Mybatis_PageHelper |
Swagger-UI | 文档生成工具 | https://github.com/swagger-api/swagger-ui |
Elasticsearch | 搜索引擎 | https://github.com/elastic/elasticsearch |
RabbitMq | 消息队列 | https://www.rabbitmq.com/ |
Redis | 分布式缓存 | https://redis.io/ |