- service是業務層,dao是數據訪問層,controller是控制層,view是表示層。
- 面向接口編程,表示層調用控制層,控制層調用業務層,業務層調用數據訪問層。
- 初期也許都是new對象去調用下一層,比如你在業務層new一個DAO類的對象,調用DAO類方法訪問數據庫,這樣寫是不對的,因為在業務層中是不應該含有具體對象,最多只能有引用。
- 控制層(controller)的職能是負責讀取視圖表現層的數據,控制用戶的輸入,並調用業務層的方法;
- 業務層(service)需要根據系統的實際業務需求進行邏輯代碼的編寫,有些業務邏輯需要通過與數據庫交互的,則業務邏輯層需要調用數據訪問層的相關方法實現與數據庫的交互,對於一些不需要與數據庫進行交互的,則直接編寫業務代碼,將執行結果反饋給控制層即可;
- 數據訪問層(dao)只負責與數據庫的數據交互,數據業務處理,持久化操作,將數據進行存儲讀取操作,可以這么理解數據層提供的東西僅僅作為業務層的一個模塊,業務層包含的內容有很多。
- 參考鏈接:https://www.cnblogs.com/beautiful-code/p/5271358.html
- ----------------------------------------------------------------------------------------------------------------------------------------------------------------
- SpringBoot項目中model層、Dao層、Mapper層、controller層、service層、entity層作用
- model(entity): model是模型的意思,與entity、domain、pojo類似,是存放實體的類,類中定義了多個類屬性,並與數據庫表的字段保持一致,一張表對應一個model類。 主要用於定義與數據庫對象應的屬性,提供get/set方法,tostring方法,有參無參構造函數。
- dao(mapper): 又被成為mapper層,叫數據持久層,先設計接口,然后在配置文件中進行配置其實現的關聯。 dao層的作用為訪問數據庫,向數據庫發送sql語句,完成數據的增刪改查任務。 數據持久化操作就是指,把數據放到持久化的介質中,同時提供增刪改查操作,比如數據通過hibernate插入到數據庫中
- service :業務邏輯層,完成功能的設計 和dao層一樣都是先設計接口,再創建要實現的類,然后在配置文件中進行配置其實現的關聯。接下來就可以在service層調用dao層的接口進行業務邏輯應用的處理。 service的impl是把mapper和service進行整合的文件 封裝Service層的業務邏輯有利於業務邏輯的獨立性和重復利用性。
- 拓展:有的代碼風格是service層=service接口+serviceImpl實現類;有的代碼風格是service層=service類;參考鏈接:https://blog.csdn.net/zxx901221/article/details/88633977
- controller :控制層,控制業務邏輯service,控制請求和響應,負責前后端交互 controller層主要調用Service層里面的接口控制具體的業務流程,控制的配置也要在配置文件中進行
- ------------------------------------------------------------------------------------------------------------------------------------------------------------------
- SpringBoot 各層之間的關系
- SpringBoot 分為四層:controller層、service層、dao層、entity層
entity層:和model層一樣,存放的是實體類,屬性值與數據庫值保持一致,實現setter和getter方法
dao層:即mapper層,對數據庫進行持久化操作,他的方法是針對數據庫操作額,基本上用的就是增刪改查,就是一個接口,只有方法名,具體實現在mapper.xml中。
service層:業務層,存放業務邏輯處理,不直接對數據庫進行操作,有接口和接口實現類,提供controller層調用方法。
controller層:控制層,導入service層,調用你service方法,controller通過接收前端傳來的參數進行業務操作,在返回一個指定的路徑或數據表。
constant:常量包,存放一些常量數據,如定義服務器響應狀態碼。
controller:控制器,存放各種控制器,來提供數據或者返回界面
entity:實體類包,存放各種與數據庫對應的實體類
mapper:存放返回數據json的格式樣式 ;mapper 翻譯 映射器,映射對象
service:返回數據給控制調用 - dao 與數據庫的操作,增刪改查等方法
- model 一般都是javabean對象,例如與數據庫的某個表相關聯。
- service 供外部調用,等於對dao,model等進行了包裝。
- impl 以 impl結尾的類 一般是實現了某個或多個接口的類
- util 通常都是工具類,如字符串處理、日期處理等
