黃文翔,潘曉衡
(東莞理工學院計算機科學與技術學院,廣東東莞,523808)
Bootstrap是當前Web技術逐漸成熟的時期備受前端開發人員歡迎的Html、CSS和JS框架。主要用于開發響應式布局、移動設備優先的Web系統頁面。其實現目標是使頁面能在主流的桌面和移動設備瀏覽器上都能獲得足夠流暢和優秀的展示及響應效果。Bootstrap是完全開源的,其源碼是基于CSS預處理腳本Less和Sass開發的,研發人員可以采用預編譯的CSS文件快速設計,也可以從源碼定制自己需要的樣式。
SpringBoot是基于Spring的4.0版本設計的,承載了原有Spring框架的優秀基因,為簡化Spring項目配置而生,能輕松地創建獨立的、可生產的、基于Spring的且能直接運行的應用程序。SpringBoot大大提高了Web程序開發者的開發效率和代碼的規范性。SpringBoot目前在JavaWeb的開發中得到了廣泛的應用。MyBatis做為數據持久層框架,支持動態SQL,而且非常便于和SpringBoot集成,是SpringBoot項目中經常選用的持久層框架。同時,本文使用了Mybatis的逆向工程插件MybatisGenerator,本插件允許開發者通過配置文件自動連接數據庫并生成持久層代碼,該插件穩定性高,加快開發效率和持久層更新效率。
該桌面移動一體化的旅游平臺主要包括總體設計、前臺設計和后臺設計。總體設計采用分層架構思想來設計,使其具有良好的擴展性,易于開發人員的開發與維護。前端設計設計主要面向用戶設計,提供便捷地酒店服務和機票訂票服務。后臺設計面向管理人員,通過信息化和結構化的管理,提升了效率和較少勞動成本。
基于SpringBoot的桌面移動一體化的旅游平臺,有機結合MVC(模型-視圖-控制)思想及三層架構(視圖層、業務邏輯層、數據訪問層)的設計模式,具體又分為視圖層、控制層、業務層、持久層和數據層。其中視圖層是用戶交互的頁面,主要通過Bootstrap,Ajax和Thymeleaf等技術去實現,Bootstrap用戶快速構建前端頁面,并實現響應式網頁設計, 根據不同的屏幕尺寸進行重新排版和縮放,無論是移動端還是桌面端都有一個良好的體驗,Ajax用于前端向后端請求和接收數據,Thymeleaf是HTML5模板引擎,用于后端數據的渲染展示。控制層位于視圖層和業務層之間,使用Controller來完成,負責將來自視圖層的請求準確地轉發到業務層中對應的業務方法(Bean)處理,并將業務層處理的結果返回給視圖層。業務層實現該平臺的具體業務邏輯功能。而持久層則完成數據的O-R映射,負責旅游平臺的數據訪問操作,主要通過Mybatis來完成這些任務。而數據層負責管理該旅游平臺的數據,使用MySQL來執行。由此通過層層分工,相互協作,一同實現了整個桌面移動一體化的旅游平臺的全部功能。
根據用戶的需求,該桌面移動一體化旅游平臺合理設計了相應的前臺功能。具體包括個人中心模塊、酒店服務模塊、機票服務模塊、博客模塊等。其總體設計圖如圖1所示。

圖1 基于SpringBoot的桌面移動一體化的旅游平臺前臺總體設計
根據旅游服務商的不同需求,該系統的后臺向三種不同的工作人員(系統管理員、酒店服務商、飛機服務商)提供了不同的功能。其總體設計如圖2所示。

圖2 基于SpringBoot的桌面移動一體化的旅游平臺后臺總體設計
系統管理員主要對用戶的信息以及發布的內容進行管理,其具體包括用戶信息管理、用戶賬單管理、用戶權限管理、用戶博客管理、博客標簽管理。
酒店服務商管理面向酒店工作人員,管理酒店的各種信息,包含酒店的旅客的進店離店確認,酒店資源信息變更,用戶的交易記錄等。
飛機服務商管理面向飛機服務商的管理人員,主要對用戶從飛機訂票到接送機等一系列活動進行管理。
(1)Bootstrap搭建Web頁面,充分應用Bootstrap的響應式設計能力,有效解決了兼容性問題,兼容手機端和PC端;其中還采用富文本編輯器等JS腳本對頁面裝飾等。
(2)視圖層接受前端請求后交給業務層處理再將返回的數據傳遞給前端進行渲染。
(3)模板引擎Thymeleaf對系統傳輸至前端的數據進行復雜的渲染操作。
(1)首先使用MybatisGenerator實現持久化的自動生成:需要配置MybatisGenerator和數據庫的鏈接;映射數據庫表結構的配置格式;另外Mybatis只生成基本的實體類和基本的數據庫操作,如果需要另外添加數據操作,可以采用Mybatis的定義方式進行自定義。
(2)根據MybatisGenerator生成的Mybatis持久層:開發人員可以專注于業務層的編寫。
一般按照以下格式進行編寫:
@Service標記為Spring MVC的業務層組件。
@Resource/@Autowired注入持久層數據組件。
再進行實際業務編寫。
(3)編寫好業務層之后,Controller層控制后端和頁面的交互,一般按照以下格式編寫:
@Controller標記為Spring MVC的控制層組件。
@Resource/@Autowired注入業務組件。
@GetMapping/@PostMapping區分每個業務鏈接。
具體調用函數,其中還對需要傳遞給前端的數據,進行封裝為DTO實體類(由于大部分數據只需要展示部分即可)。
(4)后端數據庫的設計是采用MySQL進行數據的持久化保存。
當今移動互聯網發展的大環境下,桌面移動一體化的旅游平臺實現了旅游資訊的信息化,具有簡便的操作、完善的功能,提高了游客用戶旅游體驗。平臺采用了時下流行的Java后端框架Spring Boot,相較于傳統的Java開發,代碼的結構更加清晰明了,在多層次上實現了分析、設計、類、方法等的重用。SpringBoot框架自帶Tomcat服務器,以及布置好了非常詳實和穩健的默認配置,大大加快了項目的開發,將開發的主要的難度集中到了業務處理和前端頁面渲染上。