基於SpringMVC+Spring+MyBatis實現秒殺系統【概況】

前言

       本教程使用SpringMVC+Spring+MyBatis+MySQL實現一個秒殺系統。教程素材來自慕課網視頻教程【https://www.imooc.com/learn/631】。有感興趣的能夠直接看慕課網視頻,老師講的不錯,整個系統設計思路也很清晰。本文是我學習Spring時的一手資料,這篇文章先來看看概況,後續會分三篇文章分別介紹:底層Dao接口、Service接口、前端交互。前端

       前臺頁面用到了Bootstrap提供的結構來實現頁面。git

 

系統設計

      涉及到的知識點:MySQL、SpringMVC、Spring、MyBatis、jsp、jstl。數據庫鏈接池用的c3p0,日誌用的logback。github

      我在本地開發時數據庫裝在CentOS7裏。編碼在windows裏作。web

 

概況

       開篇主要想分享下學習的一點點感悟,僅僅是一點點感悟,視頻看了兩遍,覺的老師在前臺交互方面的設計思路比較獨到,並且講解比較清晰,好比在頁面裏先暴漏秒殺地址、倒計時顯示秒殺活動開始時間、【ajax】請求時把業務參數直接放在路徑裏、用模態對話框模擬用戶登陸。 視頻在編寫程序的同時還給你提醒什麼地方咱們應該查詢官方文檔。查詢官方文檔配置xml的同時還要搞清楚這個配置背後都作了那些工做,好比spring-web.xml中<mvc:annotation-driven/>都作了那些工做,這是springMVC爲咱們默認自動註冊了DefaultAnnotationHandlerMapping、AnnotationMethodHandleAdapter。同時提供了數據綁定、數字、日期的格式、xml、json默認讀寫支持。ajax

      細節方面分享瞭如何設計合理的Restful接口、暴漏秒殺地址、實現秒殺、以及秒殺接口返回給客戶端時的實體結構、枚舉類型等等。spring

       先貼幾張圖看看實現效果:數據庫

一、模擬用戶登陸json

      用戶登陸在客戶端cookie裏保存了用戶的手機號,頁面初始化時讀取這個cookie來判斷用戶是否登陸。windows

       

二、秒殺列表cookie

      列表頁直接讀取數據庫全部記錄

三、秒殺詳情

     活動未開始,顯示倒計時效果

    活動開始,顯示秒殺按鈕。秒殺按鈕是在程序裏用js判斷活動是否開始,開始時直接建立一個按鈕而且附加click時間實現秒殺邏輯

     重複秒殺

       

 

總結

       想入門SpringMVC系列的,這個教程值得推薦。

       附上源碼地址:https://github.com/garfieldzf8/seckill

相關文章
相關標籤/搜索