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教程,有需要的小伙伴在文末查看免费领取方式

2f5395a9d52e7638706fd21ed10963ce.jpeg

组织结构

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应用的正确姿势
  • 盘点下我用的顺手的那些工具!
  • 我用起来顺手的数据库设计工具,这次推荐给大家!

技术选型

a30e0824c960ce563df2d4da9ec5af7d.jpeg

项目文档以及技术教程全都已做整理,需要项目地址的朋友帮忙转发一下这篇文章(可以让更多有需要的人看到),然后点击文末下方传送门即可获得免费领取方式啦