mall学习教程
简介
mall学习教程,架构、业务、技术要点全方位解析。mall项目(40k+star)是一套电商系统,使用现阶段主流技术实现。涵盖了SpringBoot 2.3.0、MyBatis 3.4.6、Elasticsearch 7.6.2、RabbitMQ 3.7.15、Redis 5.0、MongoDB 4.2.5、Mysql5.7等技术,采用Docker容器化部署。
项目地址
- 后台项目:https://github.com/macrozheng/mall
- 前端项目:https://github.com/macrozheng/mall-admin-web
- 微服务项目:https://github.com/macrozheng/mall-swarm
更好的阅读体验
序章
架构篇
手把手教你搭建一个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数据库表结构概览
- 商品模块数据库表解析(一)
- 商品模块数据库表解析(二)
- 订单模块数据库表解析(一)
- 订单模块数据库表解析(二)
- 订单模块数据库表解析(三)
- 营销模块数据库表解析(一)
- 营销模块数据库表解析(二)
- 营销模块数据库表解析(三)
- 权限管理功能设计与优化
- 商品SKU功能设计与优化
技术要点篇
mall中一些功能的技术要点解析
- MyBatis Generator使用过程中踩过的一个坑
- SpringBoot应用中使用AOP记录接口访问日志
- SpringBoot应用整合ELK实现日志收集
- 前后端分离项目,如何解决跨域问题
- Java 8都出那么久了,Stream API了解下?
- 仅需四步,整合SpringSecurity+JWT实现登录认证!
- 前后端分离项目,如何优雅实现文件存储!
- 前后端分离项目,引入Spring Cloud Gateway遇到的一个问题!
- 手把手教你搞定权限管理,结合Spring Security实现接口的动态权限控制!
- 手把手教你搞定权限管理,结合Vue实现菜单的动态权限控制!
- SpringBoot中处理校验逻辑的两种方式,真的很机智!
- 使用Redis+AOP优化权限管理功能,这波操作贼爽!
- Elasticsearch项目实战,商品搜索功能设计与实现!
- 连RabbitMQ的5种核心消息模式都不懂,也敢说自己会用消息队列!
- 给Swagger升级了新版本,没想到居然有这么多坑!
- Elasticsearch 升级 7.x 版本后,我感觉掉坑里了!
部署篇
mall开发及生产环境的搭建
- mall在Windows环境下的部署
- mall在Linux环境下的部署(基于Docker容器)
- mall在Linux环境下的部署(基于Docker Compose)
- mall在Linux环境下的自动化部署(基于Jenkins)
- mall前端项目的安装与部署
- mall-swarm在Windows环境下的部署
- mall-swarm在Linux环境下的部署(基于Docker容器)
- 微服务架构下的自动化部署,使用Jenkins来实现!
- 我常用的自动化部署技巧,贼好用,推荐给大家!
进阶篇
一套涵盖大部分核心组件使用的Spring Cloud教程,包括Spring Cloud Alibaba及分布式事务Seata,基于Spring Cloud Greenwich及SpringBoot 2.1.7
- Spring Cloud 整体架构概览
- Spring Cloud Eureka:服务注册与发现
- Spring Cloud Ribbon:负载均衡的服务调用
- Spring Cloud Hystrix:服务容错保护
- Hystrix Dashboard:断路器执行监控
- Spring Cloud OpenFeign:基于Ribbon和Hystrix的声明式服务调用
- Spring Cloud Zuul:API网关服务
- Spring Cloud Config:外部集中化配置管理
- Spring Cloud Bus:消息总线
- Spring Cloud Sleuth:分布式请求链路跟踪
- Spring Cloud Consul:服务治理与配置中心
- Spring Cloud Gateway:新一代API网关服务
- Spring Boot Admin:微服务应用监控
- Spring Cloud Security:Oauth2使用入门
- Spring Cloud Security:Oauth2结合JWT使用
- Spring Cloud Security:Oauth2实现单点登录
- Spring Cloud Alibaba:Nacos 作为注册中心和配置中心使用
- Spring Cloud Alibaba:Sentinel实现熔断与限流
- 使用Seata彻底解决Spring Cloud中的分布式事务问题
- 微服务权限终极解决方案,Spring Cloud Gateway + Oauth2 实现统一认证和鉴权!
- 微服务聚合Swagger文档,这波操作是真的香!
- 我扒了半天源码,终于找到了Oauth2自定义处理结果的最佳方案!
参考篇
mall相关技术的使用教程
- 开发者必备Mysql命令
- 开发者必备Linux命令
- Linux防火墙Firewall和Iptables的使用
- 开发者必备Docker命令
- 使用Maven插件构建Docker镜像
- 使用DockerFile为SpringBoot应用构建Docker镜像
- 使用Docker Compose部署SpringBoot应用
- 虚拟机安装及使用Linux,看这一篇就够了!
- Nginx的这些妙用,你肯定有不知道的!
- 使用Jenkins一键打包部署SpringBoot应用,就是这么6!
- 使用Jenkins一键打包部署前端应用,就是这么6!
- Github标星19K+Star,10分钟自建对象存储服务!
- MySql主从复制,从原理到实践!
- 你还在代码里做读写分离么,试试这个中间件吧!
- Spring Data Redis 最佳实践!
- Docker环境下秒建Redis集群,连SpringBoot也整上了!
- Elasticsearch快速入门,掌握这些刚刚好!
- MongoDB快速入门,掌握这些刚刚好!
- Github标星34K+Star,这款开源项目助你秒建Git服务!
- 连RabbitMQ的5种核心消息模式都不懂,也敢说自己会用消息队列!
- 你居然还去服务器上捞日志,搭个日志收集系统难道不香么!
- 性能优越的轻量级日志收集工具,微软、亚马逊都在用!
- 听说你的JWT库用起来特别扭,推荐一款贼好用的!
- 给Swagger换了个新皮肤,瞬间高大上了!
- Docker服务开放了这个端口,服务器分分钟变肉机!
- 居然有人想白嫖我的日志,赶紧开启安全保护压压惊!
- 面对成百上千台服务器产生的日志,试试这款轻量级日志搬运神器!
- 还在手动部署SpringBoot应用?试试这个自动化插件!
- 不要再重复造轮子了,这款开源工具类库贼好使!
- 还在手写CRUD代码?这款开源框架助你解放双手!
- 还在手写任务调度代码?试试这款可视化分布式调度框架!
工具篇
一些常用开发工具的使用
- IDEA常用设置及推荐插件
- Navicat实用功能:数据备份与结构同步
- Postman:API接口调试利器
- 10分钟搭建自己的Git仓库
- IDEA中的Git操作,看这一篇就够了!
- 虚拟机安装及使用Linux,看这一篇就够了!
- 推荐一个项目管理工具,落地基于Scrum的敏捷开发!
- IDEA中创建和启动SpringBoot应用的正确姿势
- 盘点下我用的顺手的那些工具!
- 我用起来顺手的数据库设计工具,这次推荐给大家!
- 我常用的IDEA插件大公开,个个是精品!
- IDEA同款数据库管理工具,提示太全了,用起来贼香!
- 写了100多篇原创文章,我常用的在线工具网站推荐给大家!
- 线上项目出BUG没法调试?推荐这款阿里开源的诊断神器!
- 被我用烂的DEBUG调试技巧,专治各种搜索不到的问题!
- Github标星 8K+,免费又好用的Redis客户端工具!
公众号
mall项目全套学习教程连载中,关注公众号「macrozheng」第一时间获取。