編碼風格:Mvc模式下SSM環境,程式碼分層管理
阿新 • • 發佈:2020-11-10
本文原始碼:[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