从Java后端到Web全栈
在网络 市场 上声名鹊起 的主流 技术栈一一 精讲 。 大家一起努力学习交流吧-v:307570512 科技 和商业 的深度融合 ,电子商务 项目 前后 端教材 级案例 开发 。
赋予 Java 实践者 更强的工作 适应能力 和工作 竞争力 。
{
"pages": [
"pages/home/home",
"pages/detail/detail",
"pages/cart/cart",
"pages/category/category",
"pages/my/my"
],
"window": {
"backgroundTextStyle": "light",
"navigationBarBackgroundColor": "#fff",
"navigationBarTitleText": "风袖",
"navigationBarTextStyle": "black",
"onReachBottomDistance": 50
},
"tabBar": {
"borderStyle": "black",
"color": "#333333",
"selectedColor": "#333333",
"list": [
{
"text": "首页",
"pagePath": "pages/home/home",
"iconPath": "imgs/tabbar/home@dis.png",
"selectedIconPath": "imgs/tabbar/home.png"
},
{
"pagePath": "pages/category/category",
"text": "分类",
"iconPath": "imgs/tabbar/category@dis.png",
"selectedIconPath": "imgs/tabbar/category.png"
},
{
"pagePath": "pages/cart/cart",
"text": "购物车",
"iconPath": "imgs/tabbar/cart@dis.png",
"selectedIconPath": "imgs/tabbar/cart.png"
},
{
"pagePath": "pages/my/my",
"text": "我的",
"iconPath": "imgs/tabbar/my@dis.png",
"selectedIconPath": "imgs/tabbar/my.png"
}
]
},
"sitemapLocation": "sitemap.json",
"usingComponents": {
"l-grid": "/miniprogram_npm/lin-ui/grid/index",
"l-grid-item": "/miniprogram_npm/lin-ui/grid-item/index",
"l-counter": "/miniprogram_npm/lin-ui/counter/index",
"s-counter": "/components/counter/index",
"l-price": "/miniprogram_npm/lin-ui/price/index",
"l-button": "/miniprogram_npm/lin-ui/button/index",
"l-badge": "/miniprogram_npm/lin-ui/badge/index",
"l-popup": "/miniprogram_npm/lin-ui/popup/index",
"l-icon": "/miniprogram_npm/lin-ui/icon/index",
"l-tag": "/miniprogram_npm/lin-ui/tag/index",
"l-loadmore": "/miniprogram_npm/lin-ui/loadmore/index",
"s-spu-preview": "/components/spu-preview/index"
}
}
从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+
核心技术
知识要点
电商小程序
扫码体验
电商CMS
点击体验
这是一门“Web 全栈”全贯穿的课程
==================
商业级电商项目贯穿两套前后端系统
电商业务系统前后端
CMS系统前后端
-
小程序高级
收获小程序综合开发能力
电商系统前端解决方案 -
Java SpringBoot
收获Java高级编程能力
电商系统后端解决方案 -
Vue
收获不输于前端的Vue.js 技术
-
Java CMS
收获Java SpringBoot编程
电商及配套CMS系统解决方案
“一套课程”的代码量相当于你“一年996”的全部代码量,四大部分全栈闭环
CMS后端-前后端分离下的Lin-CMS-Java课程
Java 编程思想与实际应用
项目简介
学习Java SpringBoot新技术,又能开发一个真正商业级的电商CMS。
项目亮点
- Lin CMS Java架构模式
- 前后端分离模式下的权限方案
- Lin CMS Java核心库
- 灵活的权限管理设计
项目核心功能模块
- 标准SPU/SKU的解决方案
Lin CMS架构模式
前后端分离的权限方案
服务端权限管理与守卫函数
优惠券折扣解决方案 - Spec规格编辑
SPU商品/SKU单品编辑
订单/优惠券管理
评估管理/用户管理
收发货管理 - 首页主题/轮播图管理
多级分类管理
商品品牌管理
首页六宫格管理
活动(页)的管理 - SPU/SKU规格的联动管理
小程序用户数据管理
用户订单数据管理
微信模板消息
数据统计方案
电商前端—极致体验的高级电商小程序
项目简介
直接对标真实商业级小程序的精致电商小程序,覆盖商品专题、商品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管理系统体验链接:
项目简介
在真实战中学习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规格的联动管理
小程序用户数据管理
用户订单数据管理
微信模板消息
数据统计方案
电商前端—极致体验的高级电商小程序
项目简介
直接对标真实商业级小程序的精致电商小程序,覆盖商品专题、商品Spu、商品Sku、优惠券、二级商品分类、折扣系统、支付系统等主流电商功能。
项目亮点
- 全组件化编程
- 前端MVVM架构的应用
- 前端全面向对象编程
- Lin-UI组件库高级使用方案
项目核心功能模块
- Sku算法精讲
折扣/优惠券/满减券
商品专题发布功能
Lin-UI组件库高级 - 动态首页/商品搜索功能
自定义分类与二级分类
多级分类数据检索功能
MVVM模式分离模型和渲染层 - 完整购物车功能
购物车本地缓存管理
购物车单例模式应用
购物车与服务端数据同步 - 自定义IconFont字体图标库
js随机数+Flex实现动态随机布局
全Async和Await开发方案
商品状态管理、已发货、已收货等
订单逻辑处理(计算单品)
扫码体验项目
课程目录
阶段一: 电商前端-极致体验的高级电商小程序
- 第1周
- 第2周
- 第3周
- 第4周
- 第5周
- 第6周
- 第7周
- 第7+周
走进Web全栈工程师
开课第一周,我们会公布完整的课程体系计划,展示完整的项目效果,然后开始进行项目分析,项目技术选型,和小程序组件化开发方式和技巧。
课程安排:
- 1、全栈项目的前期规划与投入
- 2、了解《风袖》的整体架构;前置知识补齐;开发工具总览;
- 3、如何从0开始去架构一个电商级别项目
- 4、如何分析项目,典型项目的必备环节
- 5、配置文件与第一次调用服务端API,业务对象的重要性
- 6、对接服务端API,同时在前端全面使用async和await来封装Httpq请求,打造完美的小程序分层结构
- 7、小程序插槽Slot的基本概念
- 8、npm的semver语法规则
- 9、掌握小程序组件化开发方式和技巧,打好基础
- 10、全面使用自定义组件来构建首页的各个元素,提升开发效率
- 11、自定义组件与 LinUI Grid组件构建分类六宫格
- 12、组件设计与LinUI使用的几个非常重要的原则
Lin UI组件库的引入与编程原则
本周我们正式开始开发环节,由于项目比较复杂,所以我们需要LinUI来辅助我们构建页面。本章我们重点学习LinUI的Price组件,但学习组件不是目的关键是要学习组件的设计技巧和组件化编程的原则。
课程安排:
- 1、优惠券的一些基本概念及优惠券入口
- 2、小程序页面背景颜色到底怎么设置?
- 3、HTTP请求是否应该被合并?
- 4、函数式编程概念与技巧
- 5、深入理解原生scroll-view组件
- 6、是不是方法都需要加async和await?
- 7、spu-scroll滑动自定义组件
- 8、Lin UI Price价格组件应用
热身结束,开启试炼
前两周我们节奏稍缓,主要是给大家留出做作业的时间,本周开始我们逐步结束热身环节,开启进阶的内容,所以从本周开始我们节奏会加快。本周主要完成首页的热卖、上新、底部长滚动列表和瀑布流。
课程安排:
- 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和商品购物车
第四周很重要!我们会重点讲解SKU,SPU和购物车,完善购物车的复杂逻辑是每一个前端开发头疼的问题,更是电商项目的精髓所在,助力同学攻克难关!
课程安排:
- 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打下了坚实的理论基础,本章我们逐步进入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收尾,同时开始讲解优惠券和购物车。优惠券的核销与购物车数据同步是本周的重难点。前端有三座大山SKU、优惠券与数据同步,这同时也是最能培养我们编程思维的业务了。
课程安排:
- 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、分类加载的性能与体验优化探讨
高级电商订单管理开发 与前端项目收尾
本周讲解订单管理,与订单金额计算,电商价格计算模式很多,关键是对于小数部分的保留问题,分为向上/向下取整,四舍五入,银行家模式等几种。掌握技术干货。此外,我们将结束整个前端部分,开始向Java核心进发
课程安排:
- 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打造高级电商业务后端
- 第8周
- 第9周
- 第10周
- 第11周
- 第12周
- 第13周
- 第14周
- 第15周
- 第16周
- 第17周
- 第18周
- 第18+周
- 第19周
初识SpringBoot
本周我们将谈谈SpringBoot出现前的Java Web发展历史,并介绍SpringBoot的版本号、建立Java环境以及初始化SpringBoot工程、搭建第一个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、@RestController注解
Java编程思想深度理论知识
本周是非常重要的深度Java编程思想理论知识,我们目的是要讲IOC和DI,要真正吃透这概念,并不简单。我们需要从最基础的interface多态过度到工厂方法,然后再过渡到IOC,最终实现OCP开闭原则
课程安排:
- 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的条件注解与配置
本周我们将详细讲解条件注解的作用与意义 他可以很好的应对变化
课程安排:
- 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、异常分类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和查询参数的异常
项目分层设计与JPA技术
本周我们将正式开始业务和数据库方面的技术讲解。我们在本阶段主要学习JPA的使用。JPA是基于Hibernate的一项技术,可以使用对象的方式来操作数据库。
课程安排:
- 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的多种查询规则
本周,我们主要学习JPA的查询方式。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类的内聚性、方法外置的问题
令牌与权限
本周我们将学习如何在SB中传输JWT令牌与权限控制
课程安排:
- 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接口
优惠券、订单与支付系统
周简介:本周我们学习优惠券系统设计、订单与支付系统。本周内容较多,难度较大。涉及到支付、核销、核算等业务
课程安排:
- 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的Key/Space 键名通知和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实现延迟消息队列触发定时器
阶段三: Java CMS后台管理系统-后端开发
- 第20周
- 第21周
- 第22周
- 第23周
Lin CMS入门与MyBatis
本周开始数据库之旅,服务端编程最重要的就是高效操作数据库,本周重点讲解MyBatis的应用和常用的SQL语句,系统提升数据库知识,不论是对项目开发还是个人成长都让你受益匪浅。
课程安排:
- 1、CMS动态分配权限是最核心的能力
- 2、LinCMS的前后端分离
- 3、Lin CMS是工程+SDK的开发框架
- 4、自定义业务的目录组织结构
- 5、LinCMSVue试运行与前后联调
- 6、Lin CMS中的三种数据库机制JPA、MyBatis与MyBatisPlus
- 7、MyBatis的项目目录组织结构
- 8、编写第一个MyBatis MapperXML
- 9、Mapper接口与MapperXML的扫描位置
- 10、调整代码目录
- 11、MyBatis的Insert
- 12、MyBatis使用注解编写SQL
MyBatisPlus入门与进阶
本周,我们在MyBatis的基础上引入MyBatisPlus 看看MyBatisPlus到底好用在哪里本周,此外,我们还将学习Lin CMS内置的快捷方法、内置异常类
课程安排:
- 1、强大的LinCMS内置异常类剖析
- 2、为什么你看不懂源码
- 3、LinCMS中的软删除与物理删除
- 4、从UI交互谈程序员的综合素质
- 5、连表查询的一种方案:单表查询
- 6、MyBatisPlus的QueryWrapper
- 7、QueryWrapper的lambada写法
- 8、CodeGenerator快速生成模板
- 9、一对多关系的多表是否可复用探讨
- 10、一对多的删除(级联删除)
- 11、Create新增数据
- 12、图片资源与服务器交互全流程解析
- 13、LinCMS文件上传系统解析
CMS权限、双令牌机制解析
CMS权限、双令牌(Access_Token、Refresh_Token)大解密
课程安排:
- 1、 LinCMS权限系统要素
- 2、 LinCMS动态权限剖析
- 3、LinCMS权限系统
- 4、谈字段级别的权限控制方案
- 5、Web开发中的双令牌(access_token和refresh_token)
- 6、双令牌(ac_token和re_token)机制全解析
- 7、谈JWT令牌安全性的问题
- 8、系统日志与行为日志机制解析
- 9、商品管理操作需求分析
- 10、商品详情数据查询思路分析
- 11、MyBatis实体映射到DO的意义
- 12、MyBatis的复杂多表查询分析
- 13、Mybatis联表查询、带入参数与条件
MyBatisPlus高级技巧及结束语
本周,随着业务的复杂,我们将用到MyBatis的更多高级特性,以处理复杂的查询和添加。在这个实际的复杂业务中,我们可以体会到MyBatis的强大
课程安排:
- 1、即时搜索的意义
- 2、一行代码一个接口是如何实现的?
- 3、MyBatis多对多表查询技巧
- 4、MyBatis如何插入复杂的数据(关联多个表的新增)
- 5、MyBatis插入复杂数据-分析SPU的录入难点
- 6、MyBatis插入复杂数据-基础校验与业务校验
- 7、MyBatis复杂新增-MBP的批量插入saveBatch
- 8、MyBatis复杂新增-测试批量插入
- 9、MyBatis复杂新增-批量插入Spu详情数据
- 10、MyBatis复杂新增-直接操作多对多中间表完成新增多对多
阶段四: Vue 构建超好用CMS后台管理系统前端
- 第24周
- 第25周
- 第26周
- 第27周
- 第28周
- 第29周
- 第30周
走进Vue3.0
本周我们开始Vue3.0基础的学习。包括Vue3.0的新特性,改变;Vue的思想,Vue3.0的初始化与常用指令等
课程安排:
- 1、Vue的思想、Web前端发展与Vue3.0的新特性
- 2、Vue3.0的变化综述
- 3、Vue的一些必备基础与前端开发工程师的基本要求
- 4、前端发展的4个阶段
- 5、服务端渲染VS前端渲染
- 6、下载Vue3.0的单文件核心库
- 7、VueCli4.x版本创建Vue3.0应用程序
- 8、单文件的Vue与2.xVue的Options风格
- 9、第一个Vue3.0的Demo
- 10、Vue3的初始模型小结
- 11、第一个Vue的指令v-text
Vue3.0中的响应式对象
本周,我们重点学习 Vue3中的响应式对象。响应式对象的应用和定义是Vue3中非常重要的内容,和Vue2有很大的区别
课程安排:
- 1、Vue基础
- 2、列表渲染、条件渲染
- 3、属性计算
- 4、Vue组件化
- 5、插槽
- 6、Vue指令
- 7、Vue事件
- 8、Vue其他基础知识
- 9、数据绑定
Vue3.0 中的组件
本周,我们开始学习Vue中最为重要的组件化编程学习。组件化编程是Vue中的核心概念,在Vue3中组件的构建方式也和vue2是所不同的。此外,我们将做一个小demo在实战中进一步理解Vue3
课程安排:
- 1、Vue
- 2、Vue进阶技术
- 3、Vuex状态管理
- 4、Vue3.0新增技术
- 5、自定义Vue指令
- 6、侦听器
- 7、Class与Style
- 8、Mixin与过滤器
- 9、Vue其他进阶知识
vue-router与vuex
在vue3.0中,router和2.x是有所区别的,本周我们重点学习vue-router与vuex全局状态管理。vue-router和vuex是vue工程化中非常重要的技术
课程安排:
- 1、Table组件与各种用法
- 2、数据导出组件/表单组件
- 3、消息推送组件/Button按钮组件
- 4、前端的面向对象编程体系
- 5、根据实际需求灵活添加组件
- 6、图片轮换与排序
动态组件与Vuex全局状态管理
本周我们将学习动态组件,并总结在Vue中切换组件的4种方式:显示隐藏、条件渲染、路由切换与动态组件。我们会中间讲解Vuex的意义与使用场景
课程安排:
- 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、微信模板消息
三端联调,全栈最后一公里。
本周我们将在CMS中进行诸如用户个人相关的数据管理开发,包括用户资料、用户收获地址、用户快递信息等功能,整个电商系统进行联调,打通微信小程序前端,java服务端,CMS管理系统。
课程安排:
- 1、三端项目Linux和云端部署(小程序+CMS+Java API)
- 2、三端部署原理与思路
- 3、Linux服务器上常用部署软件安装
- 4、小程序部署注意事项
- 5、SpringBoot部署注意事项
- 6、Lin CMS Vue部署方案
- 7、静态化部署探讨
课程按周开放更新,学习有节奏
大家一起努力学习交流吧,作者:
-v:307570512