天貓整站SpringBoot
一、項目介紹和演示
SPRINGBOOT天貓整站,基於 前後端分離思想, 由於該商城高併發的特點,後端框架便使用了方便維護的 SpringM
VC、SpringBoot框架,而前端框架則選擇了主流的BootStrap、Vue.js,JQuery三大前端框架,頁面使用Thymeleaf3渲染。爲了方便校驗登錄和訪問控制、授權在安全框架方面使⽤了Shiro ,因爲該項目的數據使用JPA 進行DAO操作, 所以在搜索引擎方面使⽤和SpringBoot兼容性高的ElasticSearch搜索引擎。ElasticSearch在SpringBoot上有專門JPA 接口 ElasticsearchRepository 進行DAO操作。最後因爲電商網站的數據在處理過程中,通常在高併發的場景下涉及到了大量的重複讀寫,這樣一來會消耗了很多性能和讀取時間,爲了可以滿足高併發場景下實時的讀取需求,所以緩存⽅⾯⽤了Redis。
項目:https://github.com/Tyler-Ou/tmall_springboot
二、項目結構
1. 項目名稱
項目名稱: tmall_springboot
2. java源代碼包結構
如圖
├─tmall
│ ├─comparator 比較器類 用於搜索結果篩選
│ ├─config 配置器類 用於配置 跨域、 redis、Shiro、頁面攔截
│ ├─entity 實體類
│ │ ├─controller 控制器
│ │ ├─dao 持久層進行DAO操作
│ │ ├─pojo 實體
│ │ ├─service 服務
│ ├─es Elasticsearch持久層API配置類
│ ├─exception 全局異常處理器類
│ ├─interceptor 攔截器類
│ ├─realm shiro-Realm類
│ ├─test 測試類
│ ├─util 工具類
│ ├─web 頁面類
│ │ ├─AdminPageController 後臺頁面控制器
│ │ ├─ForePageController 前端頁面映射控制器
│ │ ├─ForeRestController 前端頁面內容請求控制器
Application 程序主入口
3. 資源包結構
├─resource 資源目錄
│ ├─public 公共資源
│ │ ├─css 公共CSS
│ │ ├─img 頁面展示用圖片
│ │ ├─js 公共JS
│ ├─templates thymeleaf3對應的模板目錄
│ │ ├─admin 後臺Html展示頁
│ │ ├─fore 前臺Html展示頁
│ │ ├─include 組件頁
│ │ │ ├─admin 後臺組件頁
│ │ │ ├─fore 前臺組件頁
.properties 全局配置文件
三、功能場景
典型場景
-
購物車
立即購買 加入購物車 查看購物車頁面 購物車頁面操作 -
訂單狀態流轉
生成訂單 確認支付 後臺發貨 確認收貨 評價 -
CRUD
後臺各種功能 -
分頁
後臺各種功能 -
一類產品多屬性配置
屬性管理 -
一款產品多圖片維護
產品圖片管理 -
產品展示
前臺首頁 前臺產品頁 -
搜索查詢-基於elastic search
搜索 -
登錄、註冊 - 基於 shiro
註冊 登錄 退出 -
登錄驗證 - 基於 shiro
登錄狀態攔截器 -
事務管理
ForeRESTController.對createOrder進行事務管理
等等 。。。 -
緩存處理
全站數據通過 redis 進行了緩存
四、技術總結
● 後端:Spring SpringMVC、SpringBoot
● 前端:BootStrap、Vue.js、JQuery、Thymeleaf3
● 安全:Shiroㅤㅤ ● 搜索引擎:elastic search
● 緩存:Redisㅤㅤ● 數據:JPA
● 倉庫管理:Gitㅤ ● 集成環境:idea
● 服務器容器:docker-mysql
● elastic search、Redis文件及其對應的可視化工具均在 在tool夾文件內