SpringBoot天貓商城整站
一郁妈、項(xiàng)目介紹和演示
SPRINGBOOT天貓整站,基于 前后端分離思想认臊, 由于該商城高并發(fā)的特點(diǎn)圃庭,后端框架便使用了方便維護(hù)的 SpringM
VC、SpringBoot框架失晴,而前端框架則選擇了主流的BootStrap剧腻、Vue.js,JQuery三大前端框架涂屁,頁面使用Thymeleaf3渲染书在。為了方便校驗(yàn)登錄和訪問控制、授權(quán)在安全框架方面使?了Shiro 拆又,因?yàn)樵擁?xiàng)目的數(shù)據(jù)使用JPA 進(jìn)行DAO操作, 所以在搜索引擎方面使?和SpringBoot兼容性高的ElasticSearch搜索引擎儒旬。ElasticSearch在SpringBoot上有專門JPA 接口 ElasticsearchRepository 進(jìn)行DAO操作。最后因?yàn)殡娚叹W(wǎng)站的數(shù)據(jù)在處理過程中帖族,通常在高并發(fā)的場景下涉及到了大量的重復(fù)讀寫栈源,這樣一來會消耗了很多性能和讀取時間,為了可以滿足高并發(fā)場景下實(shí)時的讀取需求竖般,所以緩存???了Redis甚垦。
項(xiàng)目:https://github.com/Tyler-Ou/tmall_springboot
二、項(xiàng)目結(jié)構(gòu)
1. 項(xiàng)目名稱
項(xiàng)目名稱: tmall_springboot
2. java源代碼包結(jié)構(gòu)
├─tmall
│ ├─comparator 比較器類 用于搜索結(jié)果篩選
│ ├─config 配置器類 用于配置 跨域、 redis艰亮、Shiro闭翩、頁面攔截
│ ├─entity 實(shí)體類
│ │ ├─controller 控制器
│ │ ├─dao 持久層進(jìn)行DAO操作
│ │ ├─pojo 實(shí)體
│ │ ├─service 服務(wù)
│ ├─es Elasticsearch持久層API配置類
│ ├─exception 全局異常處理器類
│ ├─interceptor 攔截器類
│ ├─realm shiro-Realm類
│ ├─test 測試類
│ ├─util 工具類
│ ├─web 頁面類
│ │ ├─AdminPageController 后臺頁面控制器
│ │ ├─ForePageController 前端頁面映射控制器
│ │ ├─ForeRestController 前端頁面內(nèi)容請求控制器
Application 程序主入口
3. 資源包結(jié)構(gòu)
├─resource 資源目錄
│ ├─public 公共資源
│ │ ├─css 公共CSS
│ │ ├─img 頁面展示用圖片
│ │ ├─js 公共JS
│ ├─templates thymeleaf3對應(yīng)的模板目錄
│ │ ├─admin 后臺Html展示頁
│ │ ├─fore 前臺Html展示頁
│ │ ├─include 組件頁
│ │ │ ├─admin 后臺組件頁
│ │ │ ├─fore 前臺組件頁
.properties 全局配置文件
三、功能場景
典型場景
購物車
立即購買 加入購物車 查看購物車頁面 購物車頁面操作訂單狀態(tài)流轉(zhuǎn)
生成訂單 確認(rèn)支付 后臺發(fā)貨 確認(rèn)收貨 評價CRUD
后臺各種功能分頁
后臺各種功能一類產(chǎn)品多屬性配置
屬性管理一款產(chǎn)品多圖片維護(hù)
產(chǎn)品圖片管理產(chǎn)品展示
前臺首頁 前臺產(chǎn)品頁搜索查詢-基于elastic search
搜索登錄迄埃、注冊 - 基于 shiro
注冊 登錄 退出登錄驗(yàn)證 - 基于 shiro
登錄狀態(tài)攔截器事務(wù)管理
ForeRESTController.對createOrder進(jìn)行事務(wù)管理
等等 疗韵。。侄非。緩存處理
全站數(shù)據(jù)通過 redis 進(jìn)行了緩存
四蕉汪、技術(shù)總結(jié)
● 后端:Spring SpringMVC、SpringBoot
● 前端:BootStrap彩库、Vue.js肤无、JQuery、Thymeleaf3
● 安全:Shiro?? ● 搜索引擎:elastic search
● 緩存:Redis??● 數(shù)據(jù):JPA
● 倉庫管理:Git? ● 集成環(huán)境:idea
● 服務(wù)器容器:docker-mysql
● elastic search骇钦、Redis文件及其對應(yīng)的可視化工具均在 在tool夾文件內(nèi)