Java全棧工程師
Java全棧工程師
在網路 市場 上聲名鵲起 的主流 技術棧一一 精講 。 大家一起努力學習交流吧-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/[email protected]", "selectedIconPath": "imgs/tabbar/home.png" }, { "pagePath": "pages/category/category", "text": "分類", "iconPath": "imgs/tabbar/[email protected]", "selectedIconPath": "imgs/tabbar/category.png" }, { "pagePath": "pages/cart/cart", "text": "購物車", "iconPath": "imgs/tabbar/[email protected]", "selectedIconPath": "imgs/tabbar/cart.png" }, { "pagePath": "pages/my/my", "text": "我的", "iconPath": "imgs/tabbar/[email protected]", "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