Spring Clouod+Spring Boot 2+MyBatis+Docker+Elasticsearch微服务商城系统源码分享

项目介绍

mall-swarm是一套微服务商城系统,采用了 Spring Cloud Greenwich、Spring Boot 2、MyBatis、Docker、Elasticsearch等核心技术,同时提供了基于Vue的管理后台方便快速搭建系统。mall-swarm在电商业务的基础集成了注册中心、配置中心、监控中心、网关等系统功能。 文档齐全,附带全套Spring Cloud教程。

Spring Clouod+Spring Boot 2+MyBatis+Docker+Elasticsearch微服务商城系统源码分享_第1张图片

组织结构

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

技术选型

技术 说明 官网
SpringBoot 容器+MVC框架 https://spring.io/projects/spring-boot
SpringSecurity 认证和授权框架 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
Hibernator-Validator 验证框架 http://hibernate.org/validator
Elasticsearch 搜索引擎 https://github.com/elastic/elasticsearch
RabbitMQ 消息队列 https://www.rabbitmq.com/
Redis 分布式缓存 https://redis.io/
MongoDB NoSql数据库 https://www.mongodb.com
Docker 应用容器引擎 https://www.docker.com
Druid 数据库连接池 https://github.com/alibaba/druid
OSS 对象存储 https://github.com/aliyun/aliyun-oss-java-sdk
MinIO 对象存储 https://github.com/minio/minio
JWT JWT登录支持 https://github.com/jwtk/jjwt
LogStash 日志收集工具 https://github.com/logstash/logstash-logback-encoder
Lombok 简化对象封装工具 https://github.com/rzwitserloot/lombok
Jenkins 自动化部署工具 https://github.com/jenkinsci/jenkins

项目文档以及技术教程全都已做整理,需要项目地址的朋友可以帮忙点个赞(可以让更多有需要的人看到)

快速入手通道:(点这里)下载!诚意满满!!!

Java面试精选题、架构实战文档传送门:https://docs.qq.com/doc/DRW1nUkdhZG5zeGVi

整理不易,觉得有帮助的朋友可以帮忙点赞分享支持一下小编~

你的支持,我的动力;祝各位前程似锦,offer不断!!!

你可能感兴趣的:(程序员)