1. 程式人生 > >編碼風格:Mvc模式下SSM環境,程式碼分層管理

編碼風格:Mvc模式下SSM環境,程式碼分層管理

本文原始碼:[GitHub·點這裡](https://github.com/cicadasmile/data-manage-parent) || [GitEE·點這裡](https://gitee.com/cicadasmile/data-manage-parent) # 一、分層策略 MVC模式與程式碼分層策略,MVC全名是ModelViewController即模型-檢視-控制器,作為一種軟體設計典範,用一種業務邏輯、資料、介面顯示分離的方法組織程式碼,將業務邏輯聚集到一個部件裡面,在改進和個性化定製介面及使用者互動的同時,不需要重新編寫業務邏輯,這是一種開發模式,但並不是實際開發中程式碼的分層模式,通常SSM框架的後端程式碼分層如下: ![](https://img2020.cnblogs.com/blog/1691717/202011/1691717-20201109231207819-1725154620.png) - controller控制層:定義服務端介面,入參出參,和一些入參校驗; - service業務服務層:組裝業務邏輯,業務校驗,構建控制層需要的引數模型; - dao資料互動層:提供服務層需要的資料查詢方法,處理資料互動條件相關的邏輯; - mapper持久層:基於mybatis框架需要的原生支援,目前很常用的持久層元件; # 二、控制層 **1、Rest介面風格** 基於資源訪問和處理的邏輯,使用不同風格的註解。例如資源新增,更新,查詢,刪除。 ```java /** * 新增 */ @PostMapping("/insert") public Integer insert (@RequestBody BaseInfo baseInfo){ return baseInfoService.insert(baseInfo); } /** * 更新 */ @PutMapping("/update/{id}") public String update(@PathVariable(value = "id") Integer id, @RequestBody BaseInfo baseInfo) { if (id<1){ return "error"; } baseInfo.setId(id); return "update="+baseInfoService.update(baseInfo); } /** * 主鍵查詢 */ @GetMapping("/detail/{id}") public InfoModel detail(@PathVariable(value = "id") Integer id) { return baseInfoService.detail(id) ; } /** * 主鍵刪除 */ @DeleteMapping("/delete/{id}") public String delete(@PathVariable(value = "id") Integer id) { baseInfoService.delete(id) ; return "SUS" ; } ``` **2、介面複用度** 不建議介面高度複用,例如增刪改查都各自對接介面即可,基本原則,不同的客戶端端操作,對於獨立的介面。 ```java /** * 列表載入 */ @GetMapping("/list") pub