Java中controller,service,mode, dao層含義?它們有什麼聯絡?
Model的意思是模型,Model承載的作用就是資料的抽象,
Model其實就是一組資料的集合,通常為資料庫實體層
,即資料庫中的一張表對應一個實體類。整個系統都可以看成是資料的流動,既然要流動,就一定是有流動的載體。
Service的意思是服務,即業務邏輯層,它的目的是
提供一個服務
。這個服務可能是一系列的資料處理,也可能是呼叫別的服務。
Dao(data access object)的意思是資料儲存物件,它主要是負責和底層資料庫通訊,即對資料庫進行增刪改查等基礎操作(
訪問資料庫,向資料庫傳送sql語句,完成資料的增刪改查任務
)。
Controller的意思是控制器,即
把握全域性
、控制流程,所有的指令都從這裡發出。
它們之間的關係:
Controller 層呼叫Service interface去控制業務流程,最底層的即為model,model定義的為實體類,dao層中封裝了很多常用的增刪改查方法(例如:deleteByProperties、getByProerties、queryByProerties、updateByProper等方法),它會呼叫model層,從而對資料庫進行操作;Service層建立在Dao層之上Controller層之下,建立了Dao層後才可以建立Service層,service層呼叫dao層介面,接收dao層返回的資料,完成專案的基本功能設計;而Controller層又建立在Service層之上,因而controller層接受前端請求,呼叫service層,接收service層返回的資料,最後返回具體的頁面和資料到客戶端,每個模型都有一個Service介面,每個介面分別封裝各自的業務處理方法。