關于MVC的dao層、service層和controller層詳解
MVC的dao層、service層和controller層
1、dao層
dao層主要做數(shù)據(jù)持久層的工作,負責與數(shù)據(jù)庫進行聯(lián)絡的一些任務都封裝在此,dao層的設計首先是設計dao層的接口,然后在Spring的配置文件中定義此接口的實現(xiàn)類,然后就可以再模塊中調(diào)用此接口來進行數(shù)據(jù)業(yè)務的處理,而不用關心此接口的具體實現(xiàn)類是哪個類,顯得結構非常清晰,dao層的數(shù)據(jù)源配置,以及有關數(shù)據(jù)庫連接參數(shù)都在Spring配置文件中進行配置。
2、service層
service層主要負責業(yè)務模塊的應用邏輯應用設計。同樣是首先設計接口,再設計其實現(xiàn)類,接著再Spring的配置文件中配置其實現(xiàn)的關聯(lián)。這樣我們就可以在應用中調(diào)用service接口來進行業(yè)務處理。service層的業(yè)務實,具體要調(diào)用已經(jīng)定義的dao層接口,封裝service層業(yè)務邏輯有利于通用的業(yè)務邏輯的獨立性和重復利用性。程序顯得非常簡潔。
3、controller層
controller層負責具體的業(yè)務模塊流程的控制,在此層要調(diào)用service層的接口來控制業(yè)務流程,控制的配置也同樣是在Spring的配置文件里進行,針對具體的業(yè)務流程,會有不同的控制器。我們具體的設計過程可以將流程進行抽象歸納,設計出可以重復利用的子單元流程模塊。這樣不僅使程序結構變得清晰,也大大減少了代碼量。
4、view層
view層與控制層結合比較緊密,需要二者結合起來協(xié)同開發(fā)。view層主要負責前臺jsp頁面的顯示。
5、它們之間的關系
Service層是建立在DAO層之上的,建立了DAO層后才可以建立Service層,而Service層又是在Controller層之下的,因而Service層應該既調(diào)用DAO層的接口,又要提供接口給Controller層的類來進行調(diào)用,它剛好處于一個中間層的位置。每個模型都有一個Service接口,每個接口分別封裝各自的業(yè)務處理方法。
關于dao層/mapper層的一些筆記
1、BaseMapper
Mapper 繼承該接口后,無需編寫 mapper.xml 文件,即可獲得CRUD功能
Mybatis-Plus 是一款 Mybatis 動態(tài) SQL 自動注入 Mybatis 增刪改查 CRUD 操作中間件, 減少你的開發(fā)周期優(yōu)化動態(tài)維護 XML 實體字段。
CRUD:增查改刪,即,create/read/update/delate 主要被用在描述軟件系統(tǒng)中數(shù)據(jù)庫或者持久層的基本操作功能
2、@mapper
使用接口注解的優(yōu)點:
- 比較方便,快速編寫映射語句
使用接口注解的缺點:
- 適用于比較簡單的配置,當太復雜了接口就搞不定了。
- 不能使用動態(tài)SQL,有點雞肋。
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關文章
解析Java的Spring框架的BeanPostProcessor發(fā)布處理器
這篇文章主要介紹了Java的Spring框架的BeanPostProcessor發(fā)布處理器,Spring是Java的SSH三大web開發(fā)框架之一,需要的朋友可以參考下2015-12-12SpringBoot2.x過后static下的靜態(tài)資源無法訪問的問題
這篇文章主要介紹了SpringBoot2.x過后static下的靜態(tài)資源無法訪問的問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2023-01-01