之前经常有朋友问我,mall项目该如何学习,按照什么顺序学习?我一般都会把《mall学习教程》的目录发给他,希望他按照教程顺序学习。我一直认为基于项目实战的学习,可以更好的掌握技术。mall项目是个综合项目,学习它既可以掌握主流技术又可以获得项目经验。为了让大家学习mall项目时,少走弯路,最近又整理了个更好的学习路线,希望对大家有所帮助!推荐资料由于mall项目涵盖了现阶段主流技术,如果你是个Java初学者的话,最好先看下面的资料打个基础,资料具体介绍可以参考mall学习所需知识点。
学习资料 学习后端技术栈如果你对Java有一定的经验,基础还可以的话,直接学习mall项目中所运用的技术即可。学习开源项目的第一步,一般都是要把开源项目中运用的技术学习一遍,这样可以为你搭建项目和阅读项目源码打下扎实的基础。其实在我们学习开源项目的时候,最主要的还是学习项目中所用到的技术,业务反而是次要的。因为我们做不同项目的时候,业务都会有所不同,反而使用到的技术却相差不多。
我们先来看下,mall项目中用到了哪些主流技术:
学习后端技术栈 在《mall学习教程》参考篇当中,很多主流技术都有讲解了,其实学习这些知识点,看这些文章基本就够了。学习mall项目遇到没学过的技术不愁,看《mall学习教程》参考篇就对了!
项目框架搭建方面的技术可以参考如下文章:
- Spring Boot入门教程
- Spring Boot整合MyBatis,并使用MyBatis Generator生成代码
- Spring Boot整合Swagger使用教程
- Lombok使用教程
- Hutool使用教程
- 常用MySQL命令整理
- Spring Boot整合Redis使用教程
- Elasticsearch入门教程
- MongoDB入门教程
- MinIO入门教程
- 在虚拟机中安装使用Linux的教程
- 常用Linux命令整理
- 常用Docker命令整理
- 使用Maven插件为Spring Boot应用构建Docker镜像
- 使用Docker Compose部署SpringBoot应用
- Nginx使用教程
- Nginx支持HTTPS
- 使用Jenkins自动化部署Spring Boot应用
- 使用Jenkins自动化部署Vue前端应用
- RabbitMQ使用教程
- ELK日志收集系统搭建教程
- Kibana设置密码保护教程
先看下都有哪些步骤:
搭建项目骨架 项目骨架搭建可以参考如下文章:
- 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后端项目部署可以参考如下文章:
- mall在Windows环境下的部署
- mall在Linux环境下的部署(基于Docker容器)
- mall在Linux环境下的部署(基于Docker Compose)
- mall在Linux环境下的自动化部署(基于Jenkins)
- mall前端项目的安装与部署
下面是mall中已经实现了的业务模块,mall项目中的功能结构可以直接参考:mall数据库表结构概览
电商业务 如果你想知道更细致的数据库表和功能的对应关系,可以参考《mall学习教程》业务篇中的文章:
- 商品模块数据库表解析(一)
- 商品模块数据库表解析(二)
- 订单模块数据库表解析(一)
- 订单模块数据库表解析(二)
- 订单模块数据库表解析(三)
- 营销模块数据库表解析(一)
- 营销模块数据库表解析(二)
- 营销模块数据库表解析(三)
- 权限管理功能设计与优化
- 商品SKU功能设计与优化
权限管理->商品模块->订单模块->营销模块
这样的顺序。通过使用功能,捕获功能中调用的接口路径,然后查看接口的代码来阅读源码。来看下都有哪些技术要点值得解析的:
技术要点 如果你在项目中遇到了一些问题,可以参考《mall学习教程》技术要点篇中的文章,这些文章都是业务与技术结合比较多的技术解析:
- MyBatis Generator使用过程中踩过的一个坑
- SpringBoot应用中使用AOP记录接口访问日志
- SpringBoot应用整合ELK实现日志收集
- 前后端分离项目,如何解决跨域问题
- Java 8都出那么久了,Stream API了解下?
- 仅需四步,整合SpringSecurity+JWT实现登录认证 !
- 前后端分离项目,如何优雅实现文件存储!
- 手把手教你搞定权限管理,结合Spring Security实现接口的动态权限控制!
- 手把手教你搞定权限管理,结合Vue实现菜单的动态权限控制!
- SpringBoot中处理校验逻辑的两种方式,真的很机智!
- 使用Redis+AOP优化权限管理功能,这波操作贼爽!
- Elasticsearch项目实战,商品搜索功能设计与实现!
- 给Swagger升级了新版本,没想到居然有这么多坑!
- Elasticsearch 升级 7.x 版本后,我感觉掉坑里了!
- 搞定Mall项目中的权限管理功能,弄懂这些问题就妥了!
mall-admin-web
。mall-admin-web
采用Vue+Element-UI实现,《mall学习教程》中并没有专门的前端教程,学习前端的话这里有个学习方法,具体参考如何在5天内学会Vue?聊聊我的学习方法!。当你掌握了下面这些前端技术之后,可以看下mall-admin-web
的源码,还是推荐按模块学习,可以先看下权限管理模块的源码,看懂这个模块,基本就可以看懂所有前端源码了。前端技术栈 进阶微服务最近微服务技术很火,Java程序员哪有不会点微服务技术的?Spring Cloud是Java体系中主流的微服务技术,mall-swarm是mall项目的微服务版本,基于Spring Cloud技术栈。如果你想进阶学习微服务的话,学习mall-swarm项目准没错。下面是我们学习微服务需要掌握的一些内容,一份涵盖Spring Cloud&Alibaba核心组件的学习教程。
进阶微服务 首先我们得学习下Spring Cloud&Alibaba中的核心组件,对Spring Cloud技术栈有个深入的了解,可以参考下面的文章:
- 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 Cloud Security:Oauth2使用入门
- Spring Cloud Security:Oauth2结合JWT使用
- Spring Cloud Security:Oauth2实现单点登录
- Spring Cloud Alibaba:Nacos 作为注册中心和配置中心使用
- Spring Cloud Alibaba:Sentinel实现熔断与限流
- 使用Seata彻底解决Spring Cloud中的分布式事务问题
- mall-swarm在Windows环境下的部署
- mall-swarm在Linux环境下的部署(基于Docker容器)
- mall-swarm在Linux环境下的自动化部署(基于Jenkins)
- 微服务网关Gateway跨域问题解决
- 使用SpringBoot Admin监控微服务应用
- 使用APM工具监控微服务应用性能
- 基于Gateway+Oauth2的微服务权限解决方案
- Gateway+Oauth2自定义处理结果
- 使用Knife4j聚合微服务接口文档
开发工具 IDEA使用技巧可以参考:
- IDEA常用设置
- IDEA推荐插件
- IDEA中的Git操作
- IDEA中创建和启动SpringBoot应用的技巧
- IDEA调试技巧
- Navicat实现数据备份和结构同步
- Navicat设计数据库
- Postman API接口调试
- Postman 增强Swagger功能
- Gitlab搭建与使用
- Gogs搭建与使用
- Arthas线上调试工具的使用
- 界面漂亮的Redis客户端使用
- MySQL官方客户端的使用
- IDEA同款数据库管理工具DataGrip的使用
- 开发工具:我常用的开发工具
- 在线工具:我常用的在线工具网站
扩展学习 MySQL实用技术,主从复制、读写分离与数据同步:
- MySql主从复制搭建
- 小米开源的读写分离数据库中间件Gaea的使用
- MySQL数据同步工具Canal的使用
- MyBatis-Plus 使用教程
- MyBatis新特性动态SQL的使用
- 轻量级日志收集工具Fluentd的使用
- 轻量级日志收集工具Filebeat的使用
- API文档生成工具Knife4j的使用
- API文档生成工具YApi的使用
- 如何安全访问Docker服务
- fabric8io出品的Docker Maven插件的使用
- SpringBoot官方Docker插件的使用
- 使用Dockerfile为SpringBoot应用构建Docker镜像
- 企业级镜像仓库Harbor的使用
- SpringBoot官方支持任务调度框架Quartz的使用
- 可视化任务调度框架PowerJob的使用
- Redis集群的搭建和使用
- 一个很受欢迎的JWT库的使用
- RabbitMQ实现即时通讯
- 使用SQL查询Elasticsearch中的数据
- Jenkins自动化部署技巧
项目地址
- mall:https://github.com/macrozheng/mall
- mall-admin-web:https://github.com/macrozheng/mall-admin-web
- mall-learning:https://github.com/macrozheng/mall-learning
- mall-swarm:https://github.com/macrozheng/mall-swarm
- 干掉PowerDesigner!这款极简易用的数据库设计工具真香!
- 数据库迁移搞炸了!没用这款开源神器的锅?
- 新来的小哥代码里有坏味道,严重怀疑是钱给少了!
- 小宇宙爆发!Spring Boot 新特性:节省95%内存占用!
- 干掉mapper.xml!MyBatis新特性动态SQL真香!
- 阿里彻底拆中台了!
- 不了解这些超甜的语法糖,别说你会Java!
- Lombok有啥牛皮的?SpringBoot和IDEA官方都要支持它!
- 40K+Star!Mall电商实战项目开源回忆录!
- mall-swarm 微服务电商项目发布重大更新,打造Spring Cloud最佳实践!
文章图片
【数据库|Mall电商实战项目专属学习路线,主流技术一网打尽!】欢迎关注,点个在看
推荐阅读
- SpringBoot快速整合通用Mapper
- 芯片|从学术空间通往商业之路 系统性AI芯片专著《人工智能芯片设计》面世
- java|@pathvariable 和 @Requestparam的详细区别
- 小程序食堂订餐点餐项目+后台管理前后分离VUE
- 自动构建工具
- java|安装jdk1.8和配置环境变量
- maven|Maven安装与配置
- MySQL数据库的简单使用
- eclipse|jQuery ajax(无刷新分页)