從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