SpringBoot框架中的DAO層、Entity層、Service層、Controller層

非原創,看了許多篇博客的總結 一般的項目模塊中都有DAO、Entity、Service、Controller層。
 
Entity層是實體層,也就是所謂的model,也稱爲pojo層,是數據庫在項目中的類,該文件包含實體類的屬性和對應屬性的set、get方法;
 
DAO層=mapper層,現在用Mybatis逆向工程生成的mapper層,其實就是dao層。DAO層會調用entity層,DAO中會定義實際使用到的方法,比如增刪改查。DAO 層的數據源和數據庫連接的參數都是在配置文件中進行配置的,配置文件一般在同層的XML文件夾中。數據持久化操作就是指,把數據放到持久化的介質中,同時提供增刪改查操作。
 
Service層主要負責業務模塊的邏輯應用設計。先設計放接口的類,再創建實現的類,然後在配置文件中進行配置其實現的關聯。service層調用dao層接口,接收dao層返回的數據,完成項目的基本功能設計。
封裝Service層的業務邏輯有利於業務邏輯的獨立性和重複利用性。
 
Controller層負責具體的業務模塊流程的控制,controller層負責前後端交互,接受前端請求,調用service層,接收service層返回的數據,最後返回具體的頁面和數據到客戶端。 Controller層像是一個服務員,他把客人(前端)點的菜(數據、請求的類型等)進行彙總什麼口味、鹹淡、量的多少,交給廚師長(Service層),廚師長則告訴沾板廚師(Dao 1)、湯料房(Dao 2)、配菜廚師(Dao 3)等(統稱Dao層)我需要什麼樣的半成品,副廚們(Dao層)就負責完成廚師長(Service)交代的任務。
業務邏輯:
 
在具體的項目中,其流程爲:Controller層調用Service層的方法,Service層調用Dao層中的方法,其中調用的參數是使用Entity層進行傳遞的。總的來說這樣每層做什麼的分類只是爲了使業務邏輯更加清晰,寫代碼更加方便,所以有時候也需要根據具體情況來,但是大體的都是這樣處理的,因爲它其實就是提供一種規則,讓你把相同類型的代碼放在一起,這樣就形成了層次,從而達到分層解耦、複用、便於測試和維護的目的。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章