mall-learning
Introduction: mall 学习教程,架构、业务、技术要点全方位解析。mall 项目(20k+star)是一套电商系统,使用现阶段主流技术实现。 涵盖了 SpringBoot2.1.3、MyBatis3.4.6、Elasticsearch6.2.2、RabbitMQ3.7.15、Redis3.2、Mongodb3.2、Mysql5.7 等技术,采用 Docker 容器化部署。
Tags:
简介
mall 学习教程,架构、业务、技术要点全方位解析。mall 项目(60k+star)是一套电商系统,使用现阶段主流技术实现。涵盖了 SpringBoot、MyBatis、Elasticsearch、RabbitMQ、Redis、MongoDB、MySQL 等技术,采用 Docker 容器化部署。
教程网站
项目地址
Github
- 后端项目:https://github.com/macrozheng/mall
- 后台管理系统项目:https://github.com/macrozheng/mall-admin-web
- 前台商城项目:https://github.com/macrozheng/mall-app-web
- mall 学习教程示例代码:https://github.com/macrozheng/mall-learning
Gitee
- 后端项目:https://gitee.com/macrozheng/mall
- 后台管理系统项目:https://gitee.com/macrozheng/mall-admin-web
- 前台商城项目:https://gitee.com/macrozheng/mall-app-web
- mall 学习教程示例代码:https://gitee.com/macrozheng/mall-learning
序章
对 mall 项目的架构、业务及学习思路进行介绍。
快速开始
对 mall 项目的前后端开发环境搭建进行讲解。
架构篇
循序渐进带大家搭建一个 mall 项目在使用的脚手架,学习主流 Java 技术栈。涵盖 SpringBoot、MyBatis、Lombok、Hutool、Swagger、Redis、SpringSecurity、Elasticsearch、MongoDB、RabbitMQ、MinIO 等技术。
- mall 项目架构篇介绍
- mall 整合 SpringBoot+MyBatis 搭建基本骨架
- mall 整合 Swagger-UI 实现在线 API 文档
- mall 整合 Redis 实现缓存功能
- mall 整合 SpringSecurity 和 JWT 实现认证和授权(一)
- mall 整合 SpringSecurity 和 JWT 实现认证和授权(二)
- mall 整合 SpringTask 实现定时任务
- mall 整合 Elasticsearch 实现商品搜索
- mall 整合 Mongodb 实现文档操作
- mall 整合 RabbitMQ 实现延迟消息
- mall 整合 OSS 实现文件上传
业务篇
mall 项目电商业务与技术实现全方位解析,涵盖权限模块、商品模块、订单模块、营销模块、会员模块的解析。
- mall 项目后台管理系统业务介绍
- mall 项目前台商城系统业务介绍
- mall 项目开发设计思路
- 权限模块数据库表解析
- 商品模块数据库表解析(一)
- 商品模块数据库表解析(二)
- 订单模块数据库表解析(一)
- 订单模块数据库表解析(二)
- 订单模块数据库表解析(三)
- 营销模块数据库表解析(一)
- 营销模块数据库表解析(二)
- 营销模块数据库表解析(三)
- 权限管理功能设计与优化
部署篇
实现 mall 项目的 Docker 容器化部署和 Jenkins 自动化部署,同时学习 Linux、Docker、Jenkins 等技术。
- mall 项目部署篇介绍
- 使用虚拟机安装 Linux
- Linux 常用命令
- Linux 防火墙 Firewall 和 Iptables 的使用
- Docker 环境安装及常用命令
- 使用 Maven 插件为 SpringBoot 应用构建 Docker 镜像
- 使用 Dockerfile 为 SpringBoot 应用构建 Docker 镜像
- 使用 Docker Compose 部署 SpringBoot 应用
- MySQL 常用命令
- mall 在 Linux 环境下的部署(基于 Docker 容器)
- mall 在 Linux 环境下的部署(基于 Docker Compose)
- 在 Linux 上搭建 Git 服务
- 使用 Jenkins 一键打包部署 SpringBoot 应用
- 使用 Jenkins 一键打包部署前端应用
- mall 使用 Jenkins 实现自动化部署
技术要点篇
mall 中一些功能的技术要点解析,这些技术要点和业务结合地比较紧密。
- MyBatis Generator 使用过程中踩过的一个坑
- SpringBoot 应用中使用 AOP 记录接口访问日志
- 前后端分离项目,如何解决跨域问题
- Java 8 都出那么久了,Stream API 了解下?
- 仅需四步,整合 SpringSecurity+JWT 实现登录认证!
- 前后端分离项目,如何优雅实现文件存储!
- 前后端分离项目,引入 Spring Cloud Gateway 遇到的一个问题!
- 手把手教你搞定权限管理,结合 Spring Security 实现接口的动态权限控制!
- 手把手教你搞定权限管理,结合 Vue 实现菜单的动态权限控制!
- 商品 SKU 功能设计与优化
- SpringBoot 中处理校验逻辑的两种方式,真的很机智!
- 使用 Redis+AOP 优化权限管理功能,这波操作贼爽!
- Elasticsearch 项目实战,商品搜索功能设计与实现!
- RabbitMQ 实现延迟消息居然如此简单,整个插件就完事了!
- 给 Swagger 升级了新版本,没想到居然有这么多坑!
- Elasticsearch 升级 7.x 版本后,我感觉掉坑里了!
- 搞定 Mall 项目中的权限管理功能,弄懂这些问题就妥了!
参考篇
mall 相关技术的参考教程,每篇都是可以独立学习的教程,学习过程中遇到不懂的知识点可以从这里找找。
- Hutool 中那些常用的工具类和方法
- Nginx 的这些妙用,你肯定有不知道的!
- Github 标星 19K+Star,10 分钟自建对象存储服务!
- Spring Data Redis 最佳实践!
- Elasticsearch 快速入门,掌握这些刚刚好!
- MongoDB 快速入门,掌握这些刚刚好!
- 我常用的自动化部署技巧,贼好用,推荐给大家!
- 连 RabbitMQ 的 5 种核心消息模式都不懂,也敢说自己会用消息队列!
- SpringBoot 应用整合 ELK 实现日志收集
- 你居然还去服务器上捞日志,搭个日志收集系统难道不香么!
- 给 Swagger 换了个新皮肤,瞬间高大上了!
- Docker 服务开放了这个端口,服务器分分钟变肉机!
- 居然有人想白嫖我的日志,赶紧开启安全保护压压惊!
- Nginx 如何支持 HTTPS?手把手教贼简单!
- 还在手动整合 Swagger?Swagger 官方 Starter 是真的香!
- 肝了一周总结的 SpringBoot 实战教程,太实用了!
- 解放双手!MyBatis 官方代码生成工具给力!
- Lombok 有啥牛皮的?SpringBoot 和 IDEA 官方都要支持它!
公众号
学习不走弯路,关注公众号「macrozheng」,回复「学习路线」,获取 mall 项目专属学习路线!
加微信群交流,公众号后台回复「加群」即可。