{"id":13458835,"url":"https://github.com/macrozheng/mall-learning","last_synced_at":"2025-05-13T18:17:58.275Z","repository":{"id":37580073,"uuid":"181012406","full_name":"macrozheng/mall-learning","owner":"macrozheng","description":"mall学习教程，架构、业务、技术要点全方位解析。mall项目（60k+star）是一套电商系统，使用现阶段主流技术实现。涵盖了SpringBoot、MyBatis、Elasticsearch、RabbitMQ、Redis、MongoDB、MySQL等技术，采用Docker容器化部署。","archived":false,"fork":false,"pushed_at":"2024-09-15T01:05:39.000Z","size":39420,"stargazers_count":13139,"open_issues_count":5,"forks_count":8330,"subscribers_count":336,"default_branch":"master","last_synced_at":"2025-04-25T17:55:55.711Z","etag":null,"topics":["docker","elasticsearch","mongodb","mybatis","mysql","rabbitmq","redis","springboot","springcloud"],"latest_commit_sha":null,"homepage":"https://www.macrozheng.com","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/macrozheng.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2019-04-12T13:20:31.000Z","updated_at":"2025-04-25T05:55:58.000Z","dependencies_parsed_at":"2023-02-15T16:45:31.837Z","dependency_job_id":"6f8504cf-399f-4f96-adb1-d7313cf4e612","html_url":"https://github.com/macrozheng/mall-learning","commit_stats":{"total_commits":522,"total_committers":1,"mean_commits":522.0,"dds":0.0,"last_synced_commit":"cd02c000e57c693e49f1f72986dbfa6e4c952e09"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/macrozheng%2Fmall-learning","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/macrozheng%2Fmall-learning/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/macrozheng%2Fmall-learning/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/macrozheng%2Fmall-learning/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/macrozheng","download_url":"https://codeload.github.com/macrozheng/mall-learning/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254000895,"owners_count":21997444,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["docker","elasticsearch","mongodb","mybatis","mysql","rabbitmq","redis","springboot","springcloud"],"created_at":"2024-07-31T09:00:58.040Z","updated_at":"2025-05-13T18:17:57.892Z","avatar_url":"https://github.com/macrozheng.png","language":"Java","funding_links":[],"categories":["Java","Java/Kotlin","Java (504)","前端开发框架及项目"],"sub_categories":["管理面板"],"readme":"# mall学习教程\n\u003cp\u003e\n    \u003ca href=\"#公众号\"\u003e\u003cimg src=\"http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/badge/%E5%85%AC%E4%BC%97%E5%8F%B7-macrozheng-blue.svg\" alt=\"公众号\"\u003e\u003c/a\u003e\n    \u003ca href=\"#公众号\"\u003e\u003cimg src=\"http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/badge/%E4%BA%A4%E6%B5%81-%E5%BE%AE%E4%BF%A1%E7%BE%A4-2BA245.svg\" alt=\"交流\"\u003e\u003c/a\u003e\n    \u003ca href=\"https://github.com/macrozheng/mall\"\u003e\u003cimg src=\"http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/badge/%E5%90%8E%E5%8F%B0%E9%A1%B9%E7%9B%AE-mall-blue.svg\" alt=\"后台项目\"\u003e\u003c/a\u003e\n    \u003ca href=\"https://github.com/macrozheng/mall-admin-web\"\u003e\u003cimg src=\"http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/badge/%E5%89%8D%E7%AB%AF%E9%A1%B9%E7%9B%AE-mall--admin--web-green.svg\" alt=\"前端项目\"\u003e\u003c/a\u003e\n    \u003ca href=\"https://github.com/macrozheng/mall-swarm\"\u003e\u003cimg src=\"http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/badge/Cloud%E7%89%88%E6%9C%AC-mall--swarm-brightgreen.svg\" alt=\"SpringCloud版本\"\u003e\u003c/a\u003e\n\u003c/p\u003e\n\n## 简介\n\nmall学习教程，架构、业务、技术要点全方位解析。mall项目（60k+star）是一套电商系统，使用现阶段主流技术实现。涵盖了SpringBoot、MyBatis、Elasticsearch、RabbitMQ、Redis、MongoDB、MySQL等技术，采用Docker容器化部署。\n\n## 教程网站\n\n- 文档教程：[https://www.macrozheng.com](https://www.macrozheng.com)\n- 视频教程：[https://www.macrozheng.com/video/](https://www.macrozheng.com/video/)\n\n## 项目地址\n\n### Github\n\n- 后端项目：[https://github.com/macrozheng/mall](https://github.com/macrozheng/mall)\n- 后台管理系统项目：[https://github.com/macrozheng/mall-admin-web](https://github.com/macrozheng/mall-admin-web)\n- 前台商城项目：[https://github.com/macrozheng/mall-app-web](https://github.com/macrozheng/mall-app-web)\n- mall学习教程示例代码：[https://github.com/macrozheng/mall-learning](https://github.com/macrozheng/mall-learning)\n\n### Gitee\n\n- 后端项目：[https://gitee.com/macrozheng/mall](https://gitee.com/macrozheng/mall)\n- 后台管理系统项目：[https://gitee.com/macrozheng/mall-admin-web](https://gitee.com/macrozheng/mall-admin-web)\n- 前台商城项目：[https://gitee.com/macrozheng/mall-app-web](https://gitee.com/macrozheng/mall-app-web)\n- mall学习教程示例代码：[https://gitee.com/macrozheng/mall-learning](https://gitee.com/macrozheng/mall-learning)\n\n## 序章\n\n\u003e 对mall项目的架构、业务及学习思路进行介绍。\n\n- [mall项目架构及功能概览](https://www.macrozheng.com/mall/foreword/mall_foreword_01.html)\n- [mall项目核心功能演示](https://www.macrozheng.com/mall/foreword/mall_foreword_02.html)\n- [mall项目学习所需知识点](https://www.macrozheng.com/mall/foreword/mall_foreword_03.html)\n- [mall项目学习思路及课程介绍](https://www.macrozheng.com/mall/foreword/mall_foreword_04.html)\n\n## 快速开始\n\n\u003e 对mall项目的前后端开发环境搭建进行讲解。\n\n- [mall项目后端开发环境搭建](https://www.macrozheng.com/mall/start/mall_deploy_windows.html)\n- [mall项目前端开发环境搭建](https://www.macrozheng.com/mall/start/mall_deploy_web.html)\n\n## 架构篇\n\n\u003e 循序渐进带大家搭建一个mall项目在使用的脚手架，学习主流Java技术栈。涵盖SpringBoot、MyBatis、Lombok、Hutool、Swagger、Redis、SpringSecurity、Elasticsearch、MongoDB、RabbitMQ、MinIO等技术。\n\n- [mall项目架构篇介绍](https://www.macrozheng.com/mall/architect/mall_arch_overview.html)\n- [mall整合SpringBoot+MyBatis搭建基本骨架](https://www.macrozheng.com/mall/architect/mall_arch_01.html)\n- [mall整合Swagger-UI实现在线API文档](https://www.macrozheng.com/mall/architect/mall_arch_02.html)\n- [mall整合Redis实现缓存功能](https://www.macrozheng.com/mall/architect/mall_arch_03.html)\n- [mall整合SpringSecurity和JWT实现认证和授权（一）](https://www.macrozheng.com/mall/architect/mall_arch_04.html)\n- [mall整合SpringSecurity和JWT实现认证和授权（二）](https://www.macrozheng.com/mall/architect/mall_arch_05.html)\n- [mall整合SpringTask实现定时任务](https://www.macrozheng.com/mall/architect/mall_arch_06.html)\n- [mall整合Elasticsearch实现商品搜索](https://www.macrozheng.com/mall/architect/mall_arch_07.html)\n- [mall整合Mongodb实现文档操作](https://www.macrozheng.com/mall/architect/mall_arch_08.html)\n- [mall整合RabbitMQ实现延迟消息](https://www.macrozheng.com/mall/architect/mall_arch_09.html)\n- [mall整合OSS实现文件上传](https://www.macrozheng.com/mall/architect/mall_arch_10.html)\n\n## 业务篇\n\n\u003e mall项目电商业务与技术实现全方位解析，涵盖权限模块、商品模块、订单模块、营销模块、会员模块的解析。\n\n- [mall项目后台管理系统业务介绍](https://www.macrozheng.com/mall/database/mall_business_overview.html)\n- [mall项目前台商城系统业务介绍](https://www.macrozheng.com/mall/database/mall_business_app_overview.html)\n- [mall项目开发设计思路](https://www.macrozheng.com/mall/database/mall_dev_design.html)\n- [权限模块数据库表解析](https://www.macrozheng.com/mall/database/mall_ums_01.html)\n- [商品模块数据库表解析（一）](https://www.macrozheng.com/mall/database/mall_pms_01.html)\n- [商品模块数据库表解析（二）](https://www.macrozheng.com/mall/database/mall_pms_02.html)\n- [订单模块数据库表解析（一）](https://www.macrozheng.com/mall/database/mall_oms_01.html)\n- [订单模块数据库表解析（二）](https://www.macrozheng.com/mall/database/mall_oms_02.html)\n- [订单模块数据库表解析（三）](https://www.macrozheng.com/mall/database/mall_oms_03.html)\n- [营销模块数据库表解析（一）](https://www.macrozheng.com/mall/database/mall_sms_01.html)\n- [营销模块数据库表解析（二）](https://www.macrozheng.com/mall/database/mall_sms_02.html)\n- [营销模块数据库表解析（三）](https://www.macrozheng.com/mall/database/mall_sms_03.html)\n- [权限管理功能设计与优化](https://www.macrozheng.com/mall/database/mall_permission.html)\n\n## 部署篇\n\n\u003e 实现mall项目的Docker容器化部署和Jenkins自动化部署，同时学习Linux、Docker、Jenkins等技术。\n\n- [mall项目部署篇介绍](https://www.macrozheng.com/mall/deploy/mall_deploy_overview.html)\n- [使用虚拟机安装Linux](https://www.macrozheng.com/mall/deploy/linux_install.html)\n- [Linux常用命令](https://www.macrozheng.com/mall/deploy/linux_command.html)\n- [Linux防火墙Firewall和Iptables的使用](https://www.macrozheng.com/mall/deploy/linux_firewall.html)\n- [Docker环境安装及常用命令](https://www.macrozheng.com/mall/deploy/docker_command.html)\n- [使用Maven插件为SpringBoot应用构建Docker镜像](https://www.macrozheng.com/mall/deploy/docker_maven.html)\n- [使用Dockerfile为SpringBoot应用构建Docker镜像](https://www.macrozheng.com/mall/deploy/docker_file.html)\n- [使用Docker Compose部署SpringBoot应用](https://www.macrozheng.com/mall/deploy/docker_compose.html)\n- [MySQL常用命令](https://www.macrozheng.com/mall/deploy/mysql.html)\n- [mall在Linux环境下的部署（基于Docker容器）](https://www.macrozheng.com/mall/deploy/mall_deploy_docker.html)\n- [mall在Linux环境下的部署（基于Docker Compose）](https://www.macrozheng.com/mall/deploy/mall_deploy_docker_compose.html)\n- [在Linux上搭建Git服务](https://www.macrozheng.com/mall/deploy/gogs_start.html)\n- [使用Jenkins一键打包部署SpringBoot应用](https://www.macrozheng.com/mall/deploy/jenkins.html)\n- [使用Jenkins一键打包部署前端应用](https://www.macrozheng.com/mall/deploy/jenkins_vue.html)\n- [mall使用Jenkins实现自动化部署](https://www.macrozheng.com/mall/deploy/mall_deploy_jenkins.html)\n\n\n## 技术要点篇\n\n\u003e mall中一些功能的技术要点解析，这些技术要点和业务结合地比较紧密。\n\n- [MyBatis Generator使用过程中踩过的一个坑](https://www.macrozheng.com/mall/technology/mybatis_mapper.html)\n- [SpringBoot应用中使用AOP记录接口访问日志](https://www.macrozheng.com/mall/technology/aop_log.html)\n- [前后端分离项目，如何解决跨域问题](https://www.macrozheng.com/mall/technology/springboot_cors.html)\n- [Java 8都出那么久了，Stream API了解下？](https://www.macrozheng.com/mall/technology/java_stream.html)\n- [仅需四步，整合SpringSecurity+JWT实现登录认证！](https://www.macrozheng.com/mall/technology/springsecurity_use.html)\n- [前后端分离项目，如何优雅实现文件存储！](https://www.macrozheng.com/mall/technology/minio_use.html)\n- [前后端分离项目，引入Spring Cloud Gateway遇到的一个问题！](https://www.macrozheng.com/mall/technology/gateway_cors.html)\n- [手把手教你搞定权限管理，结合Spring Security实现接口的动态权限控制！](https://www.macrozheng.com/mall/technology/permission_back.html)\n- [手把手教你搞定权限管理，结合Vue实现菜单的动态权限控制！](https://www.macrozheng.com/mall/technology/permission_front.html)\n- [商品SKU功能设计与优化](https://www.macrozheng.com/mall/technology/product_sku.html)\n- [SpringBoot中处理校验逻辑的两种方式，真的很机智！](https://www.macrozheng.com/mall/technology/springboot_validator.html)\n- [使用Redis+AOP优化权限管理功能，这波操作贼爽！](https://www.macrozheng.com/mall/technology/redis_permission.html)\n- [Elasticsearch项目实战，商品搜索功能设计与实现！](https://www.macrozheng.com/mall/technology/product_search.html)\n- [RabbitMQ实现延迟消息居然如此简单，整个插件就完事了！](https://www.macrozheng.com/mall/technology/rabbitmq_delay.html)\n- [给Swagger升级了新版本，没想到居然有这么多坑！](https://www.macrozheng.com/mall/technology/swagger_upgrade.html)\n- [Elasticsearch 升级 7.x 版本后，我感觉掉坑里了！](https://www.macrozheng.com/mall/technology/elasticsearch_upgrade.html)\n- [搞定Mall项目中的权限管理功能，弄懂这些问题就妥了！](https://www.macrozheng.com/mall/technology/mall_permission_question.html)\n\n## 参考篇\n\n\u003e mall相关技术的参考教程，每篇都是可以独立学习的教程，学习过程中遇到不懂的知识点可以从这里找找。\n\n- [Hutool中那些常用的工具类和方法 ](https://www.macrozheng.com/mall/reference/hutool_start.html)\n- [Nginx的这些妙用，你肯定有不知道的！](https://www.macrozheng.com/mall/reference/nginx.html)\n- [Github标星19K+Star，10分钟自建对象存储服务！](https://www.macrozheng.com/mall/reference/minio.html)\n- [Spring Data Redis 最佳实践！](https://www.macrozheng.com/mall/reference/spring_data_redis.html)\n- [Elasticsearch快速入门，掌握这些刚刚好！](https://www.macrozheng.com/mall/reference/elasticsearch_start.html)\n- [MongoDB快速入门，掌握这些刚刚好！](https://www.macrozheng.com/mall/reference/mongodb_start.html)\n- [我常用的自动化部署技巧，贼好用，推荐给大家！](https://www.macrozheng.com/mall/reference/springboot_auto_deploy.html)\n- [连RabbitMQ的5种核心消息模式都不懂，也敢说自己会用消息队列！](https://www.macrozheng.com/mall/reference/rabbitmq_start.html)\n- [SpringBoot应用整合ELK实现日志收集](https://www.macrozheng.com/mall/reference/mall_tiny_elk.html)\n- [你居然还去服务器上捞日志，搭个日志收集系统难道不香么！](https://www.macrozheng.com/mall/reference/mall_elk_advance.html)\n- [给Swagger换了个新皮肤，瞬间高大上了！](https://www.macrozheng.com/mall/reference/knife4j_start.html)\n- [Docker服务开放了这个端口，服务器分分钟变肉机！](https://www.macrozheng.com/mall/reference/docker_protect_socket.html)\n- [居然有人想白嫖我的日志，赶紧开启安全保护压压惊！](https://www.macrozheng.com/mall/reference/elk_security.html)\n- [Nginx如何支持HTTPS？手把手教贼简单！](https://www.macrozheng.com/mall/reference/nginx_https_start.html)\n- [还在手动整合Swagger？Swagger官方Starter是真的香！](https://www.macrozheng.com/mall/reference/swagger_starter.html)\n- [肝了一周总结的SpringBoot实战教程，太实用了！](https://www.macrozheng.com/mall/reference/springboot_start.html)\n- [解放双手！MyBatis官方代码生成工具给力！](https://www.macrozheng.com/mall/reference/mybatis_generator_start.html)\n- [Lombok有啥牛皮的？SpringBoot和IDEA官方都要支持它！](https://www.macrozheng.com/mall/reference/lombok_start.html)\n\n## 公众号\n\n学习不走弯路，关注公众号「**macrozheng**」，回复「**学习路线**」，获取mall项目专属学习路线！\n\n加微信群交流，公众号后台回复「**加群**」即可。\n\n![公众号图片](http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/banner/qrcode_for_macrozheng_258.jpg)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmacrozheng%2Fmall-learning","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmacrozheng%2Fmall-learning","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmacrozheng%2Fmall-learning/lists"}