1. 程式人生 > 其它 >各層之間的關係(易混淆)

各層之間的關係(易混淆)

  • 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層裡面的介面控制具體的業務流程,控制的配置也要在配置檔案中進行