Spring Boot 2+MyBatis+Docker+Elasticsearch微服务商城源码分享
项目介绍
mall学习教程,架构、业务、技术要点全方位解析。mall项目是一套电商系统,使用现阶段主流技术实现。涵盖了SpringBoot2.1.3、MyBatis3.4.6、Elasticsearch6.2.2、RabbitMQ3.7.15、Redis5.0、Mongodb4.2.5、Mysql5.7等技术,采用Docker容器化部署。(附带全套Spring Cloud教程,有需要的小伙伴在文末查看免费领取方式)
组织结构
mall
├── mall-common -- 工具类及通用代码模块
├── mall-mbg -- MyBatisGenerator生成的数据库操作代码模块
├── mall-security -- 封装SpringSecurity+JWT的安全认证的模块
├── mall-registry -- 基于Eureka的微服务注册中心
├── mall-config -- 基于Spring Cloud Config的微服务配置中心
├── mall-gateway -- 基于Spring Cloud Gateway的微服务API网关服务
├── mall-monitor -- 基于Spring Boot Admin的微服务监控中心
├── mall-admin -- 后台管理系统服务
├── mall-search -- 基于Elasticsearch的商品搜索系统服务
├── mall-portal -- 移动端商城系统服务
└── mall-demo -- 微服务远程调用测试服务
项目文档
架构
手把手教你搭建一个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项目实战,商品搜索功能设计与实现!
项目部署
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中的分布式事务问题
相关技术参考
mall相关技术的使用教程
- 开发者必备Mysql命令
- 开发者必备Linux命令
- Linux防火墙Firewall和Iptables的使用
- 开发者必备Docker命令
- 使用Maven插件为SpringBoot应用构建Docker镜像
- 使用DockerFile为SpringBoot应用构建Docker镜像
- 使用Docker Compose部署SpringBoot应用
- Hutool中那些常用的工具类和方法
- Nginx的这些妙用,你肯定有不知道的!
- 使用Jenkins一键打包部署SpringBoot应用,就是这么6!
- 使用Jenkins一键打包部署前端应用,就是这么6!
- Github标星19K+Star,10分钟自建对象存储服务!
- MySql主从复制,从原理到实践!
- 你还在代码里做读写分离么,试试这个中间件吧!
- Spring Data Redis 最佳实践!
- Docker环境下秒建Redis集群,连SpringBoot也整上了!
- Elasticsearch快速入门,掌握这些刚刚好!
- MongoDB快速入门,掌握这些刚刚好!
常用开发工具的使用
- IDEA常用设置及推荐插件
- Navicat实用功能:数据备份与结构同步
- Postman:API接口调试利器
- 10分钟搭建自己的Git仓库
- IDEA中的Git操作,看这一篇就够了!
- 推荐一个项目管理工具,落地基于Scrum的敏捷开发!
- IDEA中创建和启动SpringBoot应用的正确姿势
- 盘点下我用的顺手的那些工具!
- 我用起来顺手的数据库设计工具,这次推荐给大家!
技术选型
项目文档以及技术教程全都已做整理,需要项目地址的朋友帮忙转发一下这篇文章(可以让更多有需要的人看到),然后点击文末下方传送门即可获得免费领取方式啦