从Java后端到Web全栈

7七月亲授,Web领域市场呼声最高的主流技术栈逐一精讲
技术与业务深度融合,电商项目前后端开发的教科书级别案例
赋能Java从业者拥有更强的职场适应力和工作竞争力
不限期 视频有效期
30 课程内容
500 教学服务期限
120 小时 视频时长
1480 学习人数
99.8% 好评度

优惠价 ¥3380.00

支持花呗 7天可退款 ¥3680.00

立即购买
7七月
全栈工程师
7七月老师课前语:
半年时间,带你从后端走向全栈

从后端到全栈CTO,我花了10年,这10年浓缩成了120多个小时,我的10年,你或许只需要半年,我希望
你比我幸运,少一些投石问路式的摸索,以更快的速度成为能胜任更高职位,更受市场青睐的全栈工程师

从Java后端走向全栈,适合你的才是好的,不要盲目下单

  • 为1-3年Java工程师定制

    没有天生的全栈,全栈也有起
    点,符合你起点的全栈课,学起
    来才能更顺畅

  • 复刻讲师的成长经历

    7七月老师自身即是从后端成长
    为全栈,他懂你的迷茫,更懂如
    何快速进阶

  • 教会前端高级知识

    课程会带给从Java后端出发的你
    不输于前端工程师的前端知识技能

  • 拔高已有后端认知

    课程从后端出发,着力于提高你的
    认知,提升格局和眼界,走向全栈

这是一门高配置全栈课-统一大项目下的系列课程

逾120小时的大型全栈课程,带SKU的商业级电商项目

  • 讲师
    全栈工程师亲授

    “7七月”老师是慕课学员总数最
    多的老师,是一名从后端成长
    为CTO的真全栈工程师

  • 内容
    从技术栈到技术体系

    把小程序、Vue、Java、
    SpringBoot、Lin-CMS等技术
    栈串成一套Web全栈技术体系

  • 项目
    完整统一的电商项目

    带SKU,带CMS的多端分离的
    小程序电商系统,在一个统一
    项目内,做真正的全栈开发

  • 开发
    前后端,CMS多端分离

    保证项目整体性的同时,让每
    一端都能方便维护,更符合主
    流公司和技术发展方向的要求

  • 思维
    懂技术,也要会管理

    真正的全栈,不仅技术过硬,
    管理能力也要过硬,从纯技术
    到管理岗,思维要同步提升

这是一门仅代码就价值几万元的课程

实打实地开发一套可以直接投放市场带SKU的高品质电商系统

SKU+CMS后台管理系统
课程配套全新开发的开源CMS系统
Lin-CMS
耗时数月的专业UI设计
  • 4大核心

    电商项目

  • 30000+

    纯手敲代码

  • 100+

    业务功能
    具体实现

  • 90+

    电商细节
    系统优化

  • 60+

    小程序前端
    自定义组件

  • 100+

    核心技术
    知识要点

电商小程序

扫码体验

Web端
体验链接

电商CMS

点击体验

这是一门“Web 全栈”全贯穿的课程

商业级电商项目贯穿两套前后端系统

电商业务系统前后端
CMS系统前后端
  • 小程序高级

    收获小程序综合开发能力
    电商系统前端解决方案

  • Java SpringBoot

    收获Java高级编程能力
    电商系统后端解决方案

  • Vue

    收获不输于前端的Vue.js 技术

  • Java CMS

    收获Java SpringBoot编程
    电商及配套CMS系统解决方案

“一套课程”的代码量相当于你“一年996”的全部代码量,四大部分全栈闭环

电商前端 — 极致体验的高级电商小程序

项目简介

直接对标真实商业级小程序的精致电商小程序,覆盖商品专题、商品Spu、商品Sku、优惠券、二级商品分类、折扣系统、支付系统等主流电商功能。

项目亮点
  • 全组件化编程
  • 前端MVVM架构的应用
  • 前端全面向对象编程
  • Lin-UI组件库高级使用方案
项目核心功能模块
  • Sku算法精讲
    折扣/优惠券/满减券
    商品专题发布功能
    Lin-UI组件库高级
  • 动态首页/商品搜索功能
    自定义分类与二级分类
    多级分类数据检索功能
    MVVM模式分离模型和渲染层
  • 完整购物车功能
    购物车本地缓存管理
    购物车单例模式应用
    购物车与服务端数据同步
  • 自定义IconFont字体图标库
    js随机数+Flex实现动态随机布局
    全Async和Await开发方案
    商品状态管理、已发货、已收货等
    订单逻辑处理(计算单品)

电商后端 — Java SpringBoot API 打造高级电商业务后端

Java核心语法+SpringBoot框架讲解

项目简介

高级电商小程序服务端API,无缝为前端小程序提供API,在开发小程序后端API的过程中,深入学习Java高级语法、SpringBoot框架与复杂电商数据库设计。

项目亮点
  • Java核心高级语法讲解
  • SpringBoot 框架基础
  • SpringBoot 进阶
  • JPA & MyBatis Plus
项目核心功能模块
  • SKU/SPU数据库设计
    SKU接口设计
    订单系统/商品系统
    Redis与订单预处理
  • 库存检测
    限时订单
    商品系统
    评价系统
  • JPA高级使用方案
    数据库1对1/1对多/多对多
    复杂实体关系的多对多对多
    权限管理与分级
  • 缓存与订单消息订阅
    用户系统/收发货系统
    优惠券系统
    微信支付与支付模板消息

CMS前端 — 前端高级知识的Vue课程

CMS管理系统体验链接: http://sleeve.7yue.pro

项目简介

在真实战中学习Vue的基础与进阶知识,开发 一个真实项目的Vue CMS管理系统。

项目亮点
  • Vue组件化
  • Lin-CMS-Vue架构设计和讲解
  • Lin-CMS-Vue入门与进阶
  • Vue技术进阶
项目核心功能模块
  • 用户系统管理
    权限系统管理
    ElementUI
    Spec规格编辑
    SPU商品/SKU单品编辑
  • 订单管理
    优惠券管理
    评估管理
    用户管理
    收发货管理
  • 首页轮播图展示
    多级分类展示
    商品品牌/活动页展示
    首页主题展示
    首页六宫格展示
  • 优惠券折扣解决方案
    活动页/分类/优惠券联动
    规格的展示与管理
    SPU/SKU/规格的联动
    小程序用户与用户订单数据

CMS后端 — 前后端分离下的Lin-CMS-Java课程

Java 编程思想与实际应用

项目简介

学习Java SpringBoot新技术,又能开发一个真正商业级的电商CMS。

项目亮点
  • Lin CMS Java架构模式
  • 前后端分离模式下的权限方案
  • Lin CMS Java核心库
  • 灵活的权限管理设计
项目核心功能模块
  • 标准SPU/SKU的解决方案
    Lin CMS架构模式
    前后端分离的权限方案
    服务端权限管理与守卫函数
    优惠券折扣解决方案
  • Spec规格编辑
    SPU商品/SKU单品编辑
    订单/优惠券管理
    评估管理/用户管理
    收发货管理
  • 首页主题/轮播图管理
    多级分类管理
    商品品牌管理
    首页六宫格管理
    活动(页)的管理
  • SPU/SKU规格的联动管理
    小程序用户数据管理
    用户订单数据管理
    微信模板消息
    数据统计方案

为课程全新开发的LinUI和LinCMS,已在Github开源

GitHub地址:https://github.com/TaleLin

  • LIN-UI

    扫码体验

    50+个自定义组件
    可节约前端30%+ 开发时间
    同时支持微信和QQ小程序
    支持Mpvue、Taro、Mpx第三方框架
    接口灵活,支持各种自定义样式
    含有各类帮助函数以及Filter过滤器
    支持自定义主题色与按需加载组件

  • Web端
    体验链接

    LIN-CMS

    点击体验

    前后端分离的完整CMS解决方案
    前端基于Vue,服务端支持多语言
    一套完整开发规范,开箱即用
    丰富的组件与自定义组件加速业务开发
    可配置权限管理系统/用户操作日志记录
    内置AccessToken和RefreshToken令牌系统
    灵活的配置式菜单/自定义指令/插件

无须赘言的全栈工程师技术体系

完成单项技术的纵向提升与多项技术的横向连接,才称得上拥有全栈技术能力

课程大纲及学习周期安排 (详细版)

为保证课程内容紧跟市场变化,课程章节将逐步开放,直至课程完结

阶段一: 电商前端-极致体验的高级电商小程序(1-8周)
  • 第1周
  • 第2周
  • 第3周
  • 第4周
  • 第5周
  • 第6周
  • 第7周
  • 第8周
走进新Web全栈时代:一套项目贯穿始终 精讲好就业的主流技术栈

开课第一周,我们会公布完整的课程体系计划,展示完整的项目效果,然后开始进行项目分析,项目技术选型,从0架构《风袖》商业项目,学习小程序组件化编程,我们将使用Lin UI组件库的众多组件来加速开发效率,提升前端开发30%以上的开发效率

课程安排:
  1. 全栈项目的前期规划与投入
  2. 了解《风袖》的整体架构;前置知识补齐;开发工具总览;
  3. 如何从0开始去架构一个电商级别项目
  4. 如何分析项目,典型项目的必备环节
  5. 配置文件与第一次调用服务端API,业务对象的重要性
  6. 对接服务端API,同时在前端全面使用async和await来封装Httpq请求,打造完美的小程序分层结构
  7. 小程序插槽Slot的基本概念
  8. npm的semver语法规则
  9. 掌握小程序组件化开发方式和技巧,打好基础
  10. 全面使用自定义组件来构建首页的各个元素,提升开发效率
  11. 自定义组件与 LinUI Grid组件构建分类六宫格
  12. 组件设计与LinUI使用的几个非常重要的原则
组件的设计技巧和组件化编程的原则

本周我们正式开始开发环节,由于项目比较复杂,所以我们需要LinUI来辅助我们构建页面。我们将告别简单知识环节,进入正题。LinUI的使用、瀑布流的编写、组件化常识、技巧、原则 ,Lin UI的Price组件和原生Scroll-View组件的一些使用技巧都将在本周逐步展开,但学习组件不是目的关键是要学习组件的设计技巧和组件化编程的原则。

课程安排:
  1. 优惠券的一些基本概念及优惠券入口
  2. 小程序页面背景颜色到底怎么设置?
  3. HTTP请求是否应该被合并?
  4. 函数式编程概念与技巧
  5. 深入理解原生scroll-view组件
  6. 是不是方法都需要加async和await?
  7. spu-scroll滑动自定义组件
  8. Lin UI Price价格组件应用
实现电商首页的热卖、上新、底部长滚动列表和瀑布流

前两周我们节奏稍缓,主要是给大家留出做作业的时间,本周开始我们逐步结束热身环节,开启进阶内容,本周学习 WXS、Lin UI Filter过滤器与热卖榜单的实现, 瀑布流、抽象组件与分页插件封装,完成首页的热卖、上新、底部长滚动列表和瀑布流。

课程安排:
  1. 通过scroll-view抽象出的几个css编写原则
  2. 使用WXS解决复杂的逻辑问题
  3. webstorm的骚操作自定义代码片段
  4. 自定义组件的边距问题与外部样式类应用
  5. 学会抽象来简化数据库表设计
  6. 新监听器Observers
  7. flex布局的灵活应用
  8. Hover点击态的应用与@import 公共样式表
  9. 组件自定义性的终极方案:抽象节点
  10. 什么是防抖、截流,如何应用?
  11. 自定义Paging对象详解(解决分页问题)
  12. 编码之美:多用return提前结束函数,少用else
  13. 折扣价和原价的常见错误逻辑
  14. l-water-flow抽象组件式深入剖析
  15. 瀑布流的分页加载及初步成型
  16. 动态计算图片高和宽
  17. Loading的思维逻辑:正在加载其实是一种常驻状态
攻克前端SKU SPU,挑战复杂业务

本周我们开始第一个难度挑战:SKU。SKU三个字母代表了前端最复杂的逻辑。很多时候,我们觉得技术到了瓶颈,那么有两个解决方案:1. 加强编程思维训练;2. 挑战复杂的业务。SKU不仅只是一个业务,它更是训练思维逻辑的最好方法,挑战一下,看看自己能否把SKU做到极致。我们奖详尽分析SKU的完整方案;我们会利用矩阵转置或者旋转来提取规格;同时我们也会给大家增加一节 线性代数里的矩阵小课堂助力同学攻克难关!

课程安排:
  1. 页面跳转与新机制EventChannel
  2. Spu、Sku、规格名和规格值的意义
  3. 调整思维,才能解决复杂的逻辑问题
  4. 借助符号化的命名方式思考问题
  5. 控制中心Realm与栅栏Fence
  6. Fence的实例化、测试Fences
  7. SKU总体思路流程分析与矩阵思维简化规格值提取
  8. SKU方案整理 一:规格值的提取
  9. SKU方案整理 二:核心问题是规格值状态的确定
  10. 用矩阵的思想提取规格值
  11. 数学小课堂:矩阵的转置与旋转/实现矩阵的遍历
  12. 谈数学、面向对象与编程思维
  13. 构建Cell对象
前端SKU核心:规格状态、编码、无货逻辑

上周我们为SKU打下了坚实的理论基础,本章我们逐步深入学习Cell对象,通过FenceGroup、Fence与Cell将职责进行明确的划分,完成整个规格的展示,然后提炼出两个SKU算法的最核心点,计算出所有sku潜在路径,潜在路径是SKU算法里最为核心的模型,计算出每个节点的潜在路径。

课程安排:
  1. SKU串码编号、 Fence与规格名的对应关系
  2. Cell去重、自定义组件,初步完成规格矩阵渲染
  3. SKU核心算法与具体实现
  4. 矩阵列不同规格的问题解答
  5. 排列组合在SKU中的应用
  6. SkuCode类拆分Sku可能的路径
  7. Combination组合函数 、完成PathDict字典
  8. Cell的三种状态样式
  9. 选中、禁用与可选状态的切换
  10. SKU选择的数据流向
  11. 自定义组件事件跨越组件边界
  12. 什么是SKU的潜在路径?
  13. 重新渲染矩阵与错误排查推演
  14. 获取Cell的行列号,实现Cell的正选和反选
  15. SKU潜在路径、潜在路径PotentialPath分析
  16. 正选/反选Cell的规律推演
  17. SkuPending类的职责
  18. 遍历所有Cell的潜在路径
  19. 完成SKU的逻辑选择
前端SKU完美收尾与商品详情页

本周,我们将SKU收尾,同时开始编写商品详情页。商品详情页有非常多的细节,比如控制商品的三种状态(无货、下架、紧缺);Counter数量选择器;库存数量计数。

课程安排:
  1. Realm骨架的完善
  2. 默认SKU的概念与意义/默认SKU拆解后加入到SkuPending中
  3. 从两个指标评估循环对性能造成的影响?
  4. 完成默认规格渲染、Sku描述数据与规格选择联动
  5. 无规格商品的具体处理流程
  6. 规格选择提示的复杂逻辑处理/规格选择与SKU描述联动
  7. setData性能探讨
  8. 获取code码和确定的SKU
  9. 加入购物车行为逻辑与商品详情页面
  10. l-counter数量选择器/数量控制属性
  11. 无货情况分析、三种触发无货状态的机制
  12. 使用iconfont在线字体图标、引入自定义字体图标
  13. 商品详情图展示与隐藏页面滚动条方案
  14. realm滑动控制适应不同高度、优化realm的滚动条
  15. 决定用户立即购买还是加入购物车
  16. 规格的主观性与组合性
  17. 分类页面重难点讲解与segment组件的高级应用
  18. 动态计算窗口高度与px与rpx动态转换、不同机型上px向rpx的转换
  19. 动态计算Detail页面的Scroll-View高度
  20. 分类加载的性能与体验优化探讨
搜索页面与购物车

本周讲解搜索,订单管理,搜索难在在本地缓存的历史搜索上,我们将应用多种设计模式:单例模式、代理模式以及队列的数据结构来完成历史搜索。购物车也是本周的重点和难点,购物车涉及到缓存、数据同步、全选/反选、价格合计、浮点数运算等重难点。

课程安排:
  1. 搜索页面:l-search-bar搜索输入框的应用
  2. 历史搜索记录类
  3. 数据结构队列在HistoryKeyword中的应用
  4. 设计模式:代理模式在HistoryKeyword中的应用
  5. JS中的单例模式应用
  6. 关键词、标签二种搜索场景
  7. 空数据和空关键词处理
  8. 购物车缓存对象CartStorage
  9. 单例模式的Cart对象
  10. Observer监听器的触发场景与常见错误理解
  11. 多次触发Observer监听器的”Bug“与解决方案
  12. 数据绑定延迟问题与解决方案
  13. 不稳定绑定变量的解决方案
  14. 自定义CheckBox
  15. 购物车全选、反选、联动
  16. 购物车金额合并计算
  17. 购物车数据同步
订单生成与提交、微信支付、价格与优惠券校验、地址管理

关于订单的提交往往是非常复杂的一个过程,其复杂点在于需要计算价格。而价格的计算需要考虑优惠券的使用。订单金额计算,电商价格计算模式很多,关键是对于小数部分的保留问题,分为向上/向下取整,四舍五入,银行家模式等几种。

课程安排:
  1. 收货地址管理
  2. 微信授权机制详解(组件式授权与API式授权)
  3. 收货地址与缓存
  4. 前端价格合计
  5. 前端优惠券折扣扣除计算
  6. 前端价格校验
  7. 按品类使用优惠券的限制
  8. 小数位保留(向上、向下取整、四舍五入、银行家模式)
  9. 商品发货状态管理
  10. 获取用户微信信息
  11. 拉起微信支付
阶段二: 电商后端- Java SpringBoot API打造高级电商业务后端(9~21周)
  • 第9周
  • 第10周
  • 第11周
  • 第12周
  • 第13周
  • 第14周
  • 第15周
  • 第16周
  • 第17周
  • 第18周
  • 第19周
  • 第20周
  • 第21周
初识SpringBoot 循序渐进 由浅入深学习

本周我们将谈谈SpringBoot出现前的Java Web发展历史,很多人对于java的理解误区,谈谈这么多年java依然屹立不倒的原因,并介绍SpringBoot的版本号、建立Java环境以及初始化SpringBoot工程、学习springboot的控制器与路由系统 并对spring的加载机制做出讲解,搭建第一个API。

课程安排:
  1. java web框架的发展历史
  2. SpringBoot与面向抽象编程
  3. 完全搞懂SpringBoot版本号(主、次、增量、发布)
  4. Java的2种构建工具:Maven与Gradle
  5. 开发工具使用Idea和三种创建SpringBoot项目的方式
  6. 使用Spring Initializr初始化SpringBoot应用程序
  7. SpringBoot应用程序的基本目录结构
  8. POM文件解析与Maven版本踩坑
  9. 运行我的第一个SpringBoot应用
  10. 新建API包与控制器
  11. 使用ResponseBody注解代替ServletResponse
  12. SpringBoot热重启配置
  13. 几个常用构建RESTFulAPI的注解
  14. @RestController注解
深入浅出Java编程思想深度理论知识(编程思维能力提升)

本周是非常重要的深度Java编程思想理论知识,我们目的是要讲IOC和DI,要真正吃透这概念,并不简单。我们需要从最基础的interface多态过度到工厂方法,然后再过渡到IOC,最终实现OCP开闭原则,专为同学们设计一个LOL的小案例,通过尴尬版、抽象版、工厂模式版本、反射版,4个版本的迭代彻底搞懂Java的抽象编程思想。(众网难寻教程)

课程安排:
  1. SpringBoot为什么有这么多复杂的概念?
  2. Java是一个笨重的垃圾语言吗?
  3. 开闭原则OCP、为什么要面向抽象编程?
  4. 面向抽象的常见手段:interface、工厂模式与IOC和DI
  5. 第一个烂大街的代码风格
  6. 使用Interface的抽象风格
  7. interface统一方法调用,但无法统一实例化
  8. 抽象的难点在于new对象
  9. 只有一段代码不负责对象实例化,才能保持稳定
  10. 工厂模式分离对象实例化
  11. 稳定性是相对的,我们需要将不稳定的代码隔离
  12. 变化是导致代码不稳定的本质原因
  13. 通过反射机制消除所有的变化
  14. 工厂模式+反射并不是IOC和D
  15. IOC和DI的雏形、IOC的示例
  16. 为什么引入容器后可以让系统变得稳定?
  17. DIP依赖倒置到底是什么
  18. DI依赖注入的意义、依赖注入的原理
  19. 容器的作用是在装配对象
  20. 从DI的角度理解IOC
  21. IOC的终极奥义
Spring与SpringBoot理论篇(基础稳扎稳打)

上周讲解了面向对象的本质和OCP原则,强化对通用原则的理解,也为学习Spring做铺垫。本周我们将开始Spring的理论篇学习,不仅教你如何用Spring和SpringBoot,更是理解它的原理和机制

课程安排:
  1. Spring、SpringMVC与SpringBoot的关系与区别
  2. 把握Spring的几个重要目的,提升学习效率
  3. SpringBoot最基础的编程模式@Component+@Autowired
  4. Stereotype Annotations 模式注解
  5. Spring的实例化和依赖注入时机与延迟实例化
  6. 成员变量注入、Setter注入与构造注入
  7. 一个接口多个实现类的处理
  8. @Autowired按类型注入
  9. 被动推断注入与主动选择注入
  10. 应对的变化的两种方案(策略模式与属性配置)
  11. @Configuration配置类
  12. 变化最终要被隔离到配置文件中
  13. @Configuation和@Bean的真实作用
  14. 深入剖析@Configuration的意义
  15. @Configuration是一种编程模式
sprinboot的条件注解与自动装配原理

本周我们将详细讲解条件注解的作用与意义,条件注解是非常重要的注解可以帮助我们实现策略模式 ,他可以很好的应对变化,此外,我们将讲解SpringBoot最核心的自动装配机制以及学习为什么需要自动装配以及SPI机制。

课程安排:
  1. Bean名称与几种注入方式补遗
  2. @ComponentScan包扫描机制
  3. 策略模式的几种实现方案
  4. 条件组件@Conditional的基本用法
  5. Condition接口的ConditionContext参数
  6. @ConditionalOnBean条件注解
  7. SpringBoot自动配置原理解析
  8. @SpringBootApplication注解的理解
  9. 自己编写一个Spring应用启动类
  10. @Import 的两种用法
  11. SpringBoot自动装配的spring.factories文件
  12. Java SPI 机制解析
  13. 深度理论课总结
Java异常处理深度剖析

本周我们将深度剖析Java异常的分类与区别,并深入剖析他们的区别以及应用场景,学习在SpringBoot中应用和处理异常,此外要重点学习两个知识:1. 配置文件的类注入方式;2. 如何自动配置Url的前缀来简化代码,我们还将学习Spring的自动发现模式,这是Spring和其他框架不同的地方

课程安排:
  1. 如何统一捕获异常?
  2. 异常分类Error、CheckedException与RunTimeException
  3. 彻底理解CheckedException和RuntimeException
  4. 自定义HTTPException异常类
  5. 同时监听Exception和HTTPException
  6. 异常的深度思考和理解
  7. 在@ExceptionHandler中返回Unify消息
  8. 处理自定义HTTPException
  9. 为什么需要将异常信息写在配置文件里
  10. 自定义配置类管理配置文件
  11. HTTPException的意义
  12. SpringBoot主动发现机制和思想
  13. 根据目录结构自动生成路由前缀
  14. 自定义RequestMappingInfo
  15. 通过接口的形式发现类
  16. 完成自定义PrefixUrl
全局参数校验机制与LomBok工具集的使用

重点讲SpringBoot参数校验机制。参数校验选择使用JSR-303BeanValidation,使用注解的方式来进行参数校验,我们必须要优雅的进行参数校验,学会编写自定义校验注解。还将重点学习LomBok工具集常见注解及Builder构造模式,

课程安排:
  1. 修改Properties文件的编码解决乱码问题、参数校验机制
  2. 获取URL路径中的参数和查询参数
  3. 数据传输对象DTO的接收
  4. LomBok的基本使用方式、关于构造函数的几个注解
  5. @Builder构造器模式的使用
  6. JSR-269与Builder模式的序列化
  7. 使用@Validated注解进行基础参数校验
  8. 验证HTTP Body中的参数与级联校验
  9. 自定义校验注解的关联类
  10. 获取自定义校验注解的参数
  11. 捕获DTO类的参数校验异常信息
  12. 捕获Url和查询参数的异常
SpringBoot结构分层设计与JPA技术

本周我们将正式开始业务和数据库方面的技术讲解,学习JPA的使用。本周主要讲解项目的分层原则、带大家进入数据库的学习阶段。我们会使用3种方式创建数据表、讲解JPA操作数据库的方式、探讨表与表之间的关系还将重点学习 单向与双向关系以及如何使用函数签名快速查询数据库。

课程安排:
  1. Service业务逻辑层(服务层)的建立
  2. 层与层之间是否一定要用interface建立关联
  3. 创建数据表的3种主要方式、新建数据库和数据表
  4. yml格式的配置文件
  5. 多环境配置文件(profiles)以及启用方式
  6. 数据库设计、实体关系与查询方案探讨
  7. Maven依赖无法安装的几个解决方案
  8. 使用ORM的方式生成数据表
  9. 常用实体类注解与ORM生成表的优劣势浅谈
  10. 多对多关系的第三张表探讨(重点)
  11. 数据库设计步骤及数据库优化原则
  12. 实体与实体之间一对多关系配置@oneToMany
  13. 指定外键字段与是否需要物理外键
  14. jpa的关联关系与规则查询
  15. 懒加载和急加载
  16. 双向一对多配置
  17. 双向一对多的外键配置问题
  18. 单向多对多关系配置与常见问题
  19. 双向多对多配置
  20. 如何禁止JPA生成物理外键
ORM与数据库设计技巧

学习ORM的概念:逆向工程生成Entity,Entity基类提取/常见Entity注解。此外我们准备开始开发业务。当然相对于后面的高阶业务要简单,但不要因为简单就放松学习,这是很好的熟悉理论知识的资源。此外,我们在实践中继续探讨数据库设计的技巧。数据库设计技巧不可能纯粹的靠概念讲清楚,需要在实践中继续学习和理解。

课程安排:
  1. ORM的概念、意义与常见误区问题
  2. 数据库表数据的设计、导入与导出
  3. 项目开发顺序、导入项目的SQL文件
  4. 逆向生成Entity、简化实体字段
  5. 三个时间字段的说明(create update delete)
  6. 提取BaseEntity基类
  7. 访问Banner接口
  8. Jaskson序列化库的重要配置(SNAKE_CASE、时间戳)
  9. Theme表设计、接口开发
  10. 表的列行转换思维
  11. SPU表设计分析
  12. 静态资源托管的几种方式、SpringBoot访问静态资源
  13. 为什么需要提供多个SPU数据的接口?
  14. Spu实体映射、Spu详情数据查询
  15. 查询列表类数据
  16. 延迟思考,逐层深入
  17. 数据库多层关系设计思考与冗余字段设计原则
  18. 导航关系的配置原则(需要时才配置)
  19. Latest接口SQL查询分析
  20. VO视图层对象的概念和意义
JPA的多种查询规则、泛型与强类型转换

在本周,我们将学习使用DozerBeanMapper进行深度拷贝,深度拷贝对于java开发非常重要,可以避免我们重复编写赋值代码;同时我们还需要构建分页器、探讨泛型与强类型的转换;充血模式和贫血模式的探讨等。JPA对于提高发效率来说非常重要,需要认真学习,才能够灵活的应用到项目中提高开发效率。

课程安排:
  1. DozerBeanMapper拷贝属性
  2. PageRequest.Of方法进行分页参数构建
  3. Paging分页对象的构建
  4. PagingDozer对象的封装
  5. 分类表的常见结构设计
  6. 无限级分类的数据表达方式(自定义协议路径)
  7. 分类冗余字段设计
  8. JPA接口命名规则
  9. Java Bean中可不可以写业务逻辑
  10. jSR303校验的message模板配置
  11. 规格、规格名与规格值的设计
  12. 通用泛型类映射方案详解
  13. 单体JSON对象的映射处理
  14. 数组类型JSON与List的映射
  15. 谈Java类的内聚性、方法外置的问题
JWT令牌与权限控制方案

本周我们将精讲Optional精髓与价值,学习如何在SB中传输JWT令牌与权限控制,学习使用Auth0来生成JWT令牌;什么是Bearer Token;同时我们将剖析如何用微信身份进行登录,JWT 令牌的校验机制,使用Auth0的JwtVerifier可以很方便的获取JWT的Claims

课程安排:
  1. 通用泛型类与java泛型的思考
  2. 循环序列化的解决方案
  3. Java的Stream与Method Reference应用
  4. 自定义JPQL替代JPA命名方法
  5. SpringBoot中的单元测试
  6. 精讲Optional精髓与价值(必看)
  7. Optional的经典使用场景、Consumer与Supplier
  8. Optional的链式操作与Function、Predicate、Filter
  9. 权限、分组与用户的关系精讲
  10. 自定义@ScopeLevel注解的机制
  11. 令牌与微信登录机制、 无感知二次登陆
  12. 微信用户体系验证服务
  13. Sleeve-Mini小程序测试工具、 对Enumeration的理解
  14. Auth0生成JWT令牌与微信身份认证
  15. User实体分析与常见用户系统设计
  16. JWT令牌的校验、获取Bearer Token
  17. hasPermisson权限核查、 VerifyToken接口
优惠券系统设计与线程安全

本周我们重点学习优惠券系统的设计,优惠券系统是一个非常复杂的系统,特别是在我们考虑到不同优惠券类型与品类限制的情况下。此外,在本周我们还要探讨超权、线程安全与资源释放等Java本身的机制问题,这些都是Web开发必须要掌握的内容。

课程安排:
  1. 优惠券系统设计分析
  2. 带有实际业务意义的多对多的第三张表
  3. 优惠券的适用范围限定
  4. 高可用性的实现与完善
  5. 优惠券状态不确定性的处理方案
  6. 多对多向一对多的转化思维、多级属性精简技巧
  7. JPQL完成复杂的多表查询、查询全场券
  8. 超权问题、 LocalUser类的设计
  9. ThreadLocal与线程安全、资源释放时机
  10. 优惠券领取与异步状态的不可靠性探讨
  11. 注意注入到容器里的对象是否是同一个对象
  12. 异步机制下的数据一致性不一定能100%保证
  13. 优惠券过期问题的处理方案
  14. 定时器的解决方案:主动轮询与被动消息触发
  15. 不能以状态枚举来作为优惠券过期的唯一判断标准
  16. 订单中的优惠券合法性校验
  17. Order订单表的数据库设计
  18. 前端提交的Price是不可信的
订单、延迟支付与库存归还

上周我们完成了订单、优惠券参数的校验,本周我们将实现”下单“这个操作。下单是一个很复杂的过程,因为我们实现的是延迟支付。延迟支付涉及到优惠券和库存的归还,这是一个非常值得探讨的问题。

课程安排:
  1. 订单校验-获取实时的Sku信息、构建CouponChecker
  2. 订单校验-优惠券过期时间校验、满减券计算
  3. 订单校验-浮点数价格运算利弊分析、银行家舍去算法
  4. 订单校验-RoundingMode模式
  5. 订单校验-SpringBoot默认注入单例模式所带来的额问题
  6. 订单校验-prototype多例模式的注入方案(ObjectFactory与动态代理)
  7. 订单校验-非SpringBoot托管的Java对象、价格校验收尾
  8. 订单校验-BO的概念与意义、全场券的计算、reduce函数的巧妙应用
  9. 订单校验-完成优惠券最终校验
  10. 订单校验-OrderChecker对象、校验项分析
  11. 订单校验-最大购买数量、售罄、超卖检验、校验CouponChecker
  12. 如何让Spring调用Bean的有参构造函数?
  13. 下单逻辑-谈订单号的特点与注意事项
  14. 下单逻辑-创建订单、订单的五种状态
  15. 库存扣减-乱序思维、不能SQL1查询SQL2减除库存
  16. 库存扣减-Java锁、悲观锁的解决方案探讨、乐观锁的应用
  17. 优惠券核销、测试下单
  18. 订单状态的查询-订单支付过期状态的不可信
  19. 订单状态的查询-追加PlacedTime下单时间和ExpiredTime过期时间
  20. 订单状态的查询-查询待支付订单、订单详情查询
微信支付、Redis、RocketMQ

为了进行库存和优惠券的过期归还问题(库存归还与优惠券归还),我们需要使用一种类似于定时器的机制。但是传统的定时器精度不够,负载较高。所以延迟消息队列是一个比较好的触发方式。在本章,我们会用Redis和RocketMQ两种不同的机制来实现延迟消息队列。

课程安排:
  1. 微信支付流程分析、微信支付配置类
  2. 订单过期时间的再次校验、订单是否取消的逻辑判断
  3. 统一下单(预订单)接口参数解析、常用参数组装
  4. 配置微信支付回调API地址、更新订单的PrepayId、微信支付签名计算
  5. 微信支付回调结果WxNotify接收与处理
  6. 从流中读取支付回调结果、更新订单状态Unpaid转为Paid
  7. 订单状态更新的加强判断逻辑、 微信支付测试
  8. 延迟消息队列是什么?能解决什么问题?
  9. Redis键空间通知(KeySpaceNotifyfication)
  10. key-event通知订阅机制、SpringBoot中的Redis配置
  11. 将订单、优惠券信息写入Redis、MessageListener
  12. 设置Listener和Topic、测试Listener
  13. 订单取消与库存归还-OrderMessageBO、RecoverStock
  14. 订单取消(3)优惠券归还与事件广播机制
  15. 作业:RocketMQ实现延迟消息队列
  16. RocketMQ概述
  17. RocketMQ实现延迟消息队列触发定时器
阶段三: Vue3.0 构建超好用CMS后台管理系统前端页面(22-26周)
  • 第22周
  • 第23周
  • 第24周
  • 第25周
  • 第26周
Vue3.0 基础精讲

从本周起我们将开始学习Vue,不用担心不会Vue,我们将从基础开始讲解最新版的Vue知识来开发我们的CMS管理系统前端部分。

课程安排:
  1. Vue基础
  2. 列表渲染、条件渲染
  3. 属性计算
  4. Vue组件化
  5. 插槽
  6. Vue指令
  7. Vue事件
  8. Vue其他基础知识
  9. 数据绑定
Vue3.0 进阶精讲

本周我们学习Vue的进阶知识,为开发电商的CMS管理系统前端打好基础

课程安排:
  1. Vue
  2. Vue进阶技术
  3. Vuex状态管理
  4. Vue3.0新增技术
  5. 自定义Vue指令
  6. 侦听器
  7. Class与Style
  8. Mixin与过滤器
  9. Vue其他进阶知识
Lin-CMS 丰富多样的组件库

我们的lin-cms内置了丰富多样的组件库,基于Element-UI二次开发,相信项目展示大家都看到了,本周我们会系统讲解这些组建的各种用法,提升开发效率,打造高颜值CMS管理系统。

课程安排:
  1. Table组件与各种用法
  2. 数据导出组件/表单组件
  3. 消息推送组件/Button按钮组件
  4. 前端的面向对象编程体系
  5. 根据实际需求灵活添加组件
  6. 图片轮换与排序
用VUE3.0构建超酷CMS前端

本周我们开始Vue的实战,使用Vue技术来构建CMS前端。Vue将构建出体验极好的SPA应用

课程安排:
  1. 路由与动态路由
  2. MVVM思想
  3. 模板与列表渲染/使用指令
  4. 组件化编程
  5. 前端权限控制/权限与渲染/异常处理
  6. Lin-CMS-Core的HTTP请求机制
  7. Lin-Component组件库讲解与使用
CMS电商管理系统前端搭建

本周我们将开始Lin-CMS-Vue的学习,综合前面学习的所有知识来一次真正的大实战。

课程安排:
  1. Lin-CMS-Vue的配置与启动
  2. CMS的路由与导航系统
  3. CMS的一级、二级以及三级菜单
  4. CMS的ReuseTab与动态Tab栏
  5. CMS的Logger日志系统/业务插件系统
  6. 用户系统/前端权限系统
  7. 商品SKU与SPU管理
  8. 规格管理/六宫格管理/分类管理/订单管理
  9. 收发货管理
  10. 微信模板消息
阶段四: Java CMS后台管理系统-后端开发及部署上线(27~33)
  • 第27周
  • 第28周
  • 第29周
  • 第30周
  • 第31周
  • 第32周
  • 第33周
MyBatis跑起来

本周开始数据库之旅,服务端编程最重要的就是高效操作数据库,本周重点讲解MyBatis的应用和常用的SQL语句,系统提升数据库知识,不论是对项目开发还是个人成长都让你受益匪浅。

课程安排:
  1. MyBatis的基本操作(CURD)
  2. MyBatis的映射与模型
  3. @Select注解、@Insert注解的应用
  4. Where与ForEach
  5. 动态SQL
  6. mybatis plus与mybatis集合
  7. 自动隐射
  8. 类型转换与mapper
Java Web 应用分层架构讲解

本周目标:1. Java应用在遇到复杂业务时的分层夹头;2 .深入学习Lin-CMS-java核心库,包括权限、全局异常处理模块、帮助函数等。还会精讲MyBatis高级应用,是大厂都在使用的主流技术栈,让你始终走在开发最前沿。

课程安排:
  1. Lin-CMS-Java的内部机制剖析
  2. Lin API开发机制
  3. Java复杂应用分层架构讲解
  4. 框架目录结构/全局校验与AOP/路由系统与权限
  5. MyBatis的应用与高级应用
  6. MySQL的锁机制、脏读、幻读与不可重复读
  7. 数据库事务与应用
  8. CMS-Java的守卫函数/模型管理与权限管理 /插件机制
  9. 令牌机制与Refresh Token刷新令牌
实战MyBatis与MyBatis Plus

本周我们将实战MyBatis与MyBatis Plus,同时处理商品的规格,为SKU与优惠券打下基础

课程安排:
  1. 规格的写入与通用规格管理
  2. 可视规格管理
  3. 单品录入
  4. 图片上传
  5. 无规格商品的处理(一个SPU只有一个规格)
  6. 商品单价与SPU折扣价
  7. 多单品组成商品
CMS后台管理系统-商品数据管理

商品数据管理绝对是CMS中的重点和难点,本周涵盖了电商行业典型的商品数据管理的业务需求,媲美京东淘宝,这些业务也是进军大厂的筹码!

课程安排:
  1. SKU的数据库设计
  2. SKU表与SPU表
  3. Sku与Spu多对1关系处理
  4. Sku携带品类管理
  5. Sku的无货状态控制
  6. Sku图片管理与Spu图片管理
  7. MyBatisDO、BO、VO的概念和意义
  8. JPA与MyBatis混用(想用什么用什么)
  9. JPA与MyBatis的对比与选择
  10. 单品定价、商品定价 /价格合并计算
CMS后台管理系统--商品的分类管理和订单管理

本周我们将讲解CMS--商品的分类管理和订单管理,涵盖多级分类,订单生成、订单待支付状态、订单取消等功能。这些在业务开发中相当复杂,这周我们会更加细致入微的带您掌握复杂业务的开发秘籍。

课程安排:
  1. 一级分类录入/二级分类/商品归并
  2. 分类修改与删除
  3. 订单列表/订单取消与删除
  4. 订单限时取消/订单确认/订单状态管理
  5. Redis的基本命令/Redis的特性
  6. Redis常用场景
  7. 使用Redis缓存订单状态,并做到限时取消
  8. 订单超时处理
CMS后台管理系统--专题数据与优惠券

本周我们将讲解电商里的专题开发和优惠券系统,包括最热和最新量大专题。同时商品排序也是一个非常常见的需求,我们会在本周进行探讨。

课程安排:
  1. 专题数据管理/新品上架/热门筛选
  2. 商品排序/反选排序
  3. 置顶与下架专题
  4. 优惠券的种类
  5. 实现优惠券逻辑
  6. 优惠券的安全性
  7. 权限管理/权限自定义
  8. 改变权限/新建权限分组
三端联调,全栈最后一公里。

本周我们将完成我们三端的联调与部署,将整个电商系统进行对接,打通微信小程序前端,java服务端,CMS管理系统。恭喜,你已经是一名高级工程师了。

课程安排:
  1. 三端项目Linux和云端部署(小程序+CMS+Java API)
  2. 三端部署原理与思路
  3. Linux服务器上常用部署软件安装
  4. 小程序部署注意事项
  5. SpringBoot部署注意事项
  6. Lin CMS Vue部署方案
  7. 静态化部署探讨
  8. 三端联调
  9. 未来展望
课程按周开放更新,学习有节奏

这是一门既注重技术提升,又注重全栈软实力提升的课程

成长不易,这是一门尽量让你觉得不痛苦可坚持的课程

学习是需要付出的,我们为你创造坚持下去的条件

  • 7七月金字招牌,有口皆碑

    1.7七月老师慕课网学员数万+,是一位
    很“会讲课”的老师
    2.讲师所出的8门实战教程好评率均在
    99.5%以上

  • 手敲代码,不落下任何细节

    1.从不照着代码干讲,都是手把手带你敲
    出来的
    2.项目从无到有,不会落下任何一个功能

  • 提供在线API文档

    1.从后端角度学会API文档的撰写方法
    2.从前端角度理解如何与后端对接

7七月
全栈工程师
讲师介绍

慕课网超人气讲师,所出品课程获得了学员的一致认可,有的学员甚至达到了“七月的课程,逢出必买”的程度,学员给了他一个很高的评价——“他是一个非常会讲课的好老师,跟着七月老师再难的东西也能学明白。”
他本人也是一名从后端成长为CTO全栈的工程师,有十年研发及团队管理经验,对程序员成长过程中面临的各种问题深有体会;精通Python、Java、Node.js、JavaScript等语言,对Web的基础研发、高并发处理与分布式有非常深入的理解,是最早接触微信小程序并出品数门相关课程的程序员之一,对小程序有不同于别人的超前认知,跟着这样一位技术实力和综合能力都很强悍的老师学习,你的提升,指日可待。

慕课成熟的课程服务体系,让学习效果更有保障

1600万真实用户的共同选择,已被验证有效的科学学习方式

  • 直播互动

    品质直播话题,与讲师面对面实时互
    动,开拓视野

  • 社群讨论

    和大牛、同行共处同一社群,切磋与
    碰撞,成长更迅速

  • 随堂练习

    基础知识随堂练习,即学即测,充分
    掌握巩固,效果立现

  • 有问必答

    提供课程相关疑问提问入口
    详细答疑,扫清学习障碍

  • 源码开放

    全套上线标准的项目代码免费赠送
    并且长期迭代维护

  • 独家资料

    超实用的思维导图,文档资料覆盖核
    心知识、关键技能,方便回溯与拓展

  • 就业推荐

    优秀学员,讲师为你背书,将亲自为你推荐职位
    (是配的上全栈的职位哦!)

  • 课程适合人群

    有扎实Java语法基础/小程序开发基础
    有相关Java Web服务端开发经验

常见问题
意见反馈 帮助中心 APP下载
官方微信