欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

關(guān)于MVC的dao層、service層和controller層詳解

 更新時間:2022年02月26日 11:04:08   作者:菜鳥總結(jié)  
這篇文章主要介紹了關(guān)于MVC的dao層、service層和controller層詳解,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教

MVC的dao層、service層和controller層

1、dao層

dao層主要做數(shù)據(jù)持久層的工作,負(fù)責(zé)與數(shù)據(jù)庫進(jìn)行聯(lián)絡(luò)的一些任務(wù)都封裝在此,dao層的設(shè)計首先是設(shè)計dao層的接口,然后在Spring的配置文件中定義此接口的實現(xiàn)類,然后就可以再模塊中調(diào)用此接口來進(jìn)行數(shù)據(jù)業(yè)務(wù)的處理,而不用關(guān)心此接口的具體實現(xiàn)類是哪個類,顯得結(jié)構(gòu)非常清晰,dao層的數(shù)據(jù)源配置,以及有關(guān)數(shù)據(jù)庫連接參數(shù)都在Spring配置文件中進(jìn)行配置。

2、service層

service層主要負(fù)責(zé)業(yè)務(wù)模塊的應(yīng)用邏輯應(yīng)用設(shè)計。同樣是首先設(shè)計接口,再設(shè)計其實現(xiàn)類,接著再Spring的配置文件中配置其實現(xiàn)的關(guān)聯(lián)。這樣我們就可以在應(yīng)用中調(diào)用service接口來進(jìn)行業(yè)務(wù)處理。service層的業(yè)務(wù)實,具體要調(diào)用已經(jīng)定義的dao層接口,封裝service層業(yè)務(wù)邏輯有利于通用的業(yè)務(wù)邏輯的獨(dú)立性和重復(fù)利用性。程序顯得非常簡潔。

3、controller層

controller層負(fù)責(zé)具體的業(yè)務(wù)模塊流程的控制,在此層要調(diào)用service層的接口來控制業(yè)務(wù)流程,控制的配置也同樣是在Spring的配置文件里進(jìn)行,針對具體的業(yè)務(wù)流程,會有不同的控制器。我們具體的設(shè)計過程可以將流程進(jìn)行抽象歸納,設(shè)計出可以重復(fù)利用的子單元流程模塊。這樣不僅使程序結(jié)構(gòu)變得清晰,也大大減少了代碼量。

4、view層

view層與控制層結(jié)合比較緊密,需要二者結(jié)合起來協(xié)同開發(fā)。view層主要負(fù)責(zé)前臺jsp頁面的顯示。

5、它們之間的關(guān)系

Service層是建立在DAO層之上的,建立了DAO層后才可以建立Service層,而Service層又是在Controller層之下的,因而Service層應(yīng)該既調(diào)用DAO層的接口,又要提供接口給Controller層的類來進(jìn)行調(diào)用,它剛好處于一個中間層的位置。每個模型都有一個Service接口,每個接口分別封裝各自的業(yè)務(wù)處理方法。 

關(guān)于dao層/mapper層的一些筆記

1、BaseMapper

Mapper 繼承該接口后,無需編寫 mapper.xml 文件,即可獲得CRUD功能

Mybatis-Plus 是一款 Mybatis 動態(tài) SQL 自動注入 Mybatis 增刪改查 CRUD 操作中間件, 減少你的開發(fā)周期優(yōu)化動態(tài)維護(hù) XML 實體字段。

CRUD:增查改刪,即,create/read/update/delate 主要被用在描述軟件系統(tǒng)中數(shù)據(jù)庫或者持久層的基本操作功能

2、@mapper

使用接口注解的優(yōu)點(diǎn):

  • 比較方便,快速編寫映射語句

使用接口注解的缺點(diǎn):

  • 適用于比較簡單的配置,當(dāng)太復(fù)雜了接口就搞不定了。
  • 不能使用動態(tài)SQL,有點(diǎn)雞肋。

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • SpringBoot集成消息隊列的項目實踐

    SpringBoot集成消息隊列的項目實踐

    本文主要介紹了SpringBoot集成消息隊列的項目實踐,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2024-02-02
  • 淺析spring定時器的使用

    淺析spring定時器的使用

    這篇文章主要介紹了淺析spring定時器的使用,幫助大家更好的理解和學(xué)習(xí)spring框架,感興趣的朋友可以了解下
    2020-10-10
  • 解析Java的Spring框架的BeanPostProcessor發(fā)布處理器

    解析Java的Spring框架的BeanPostProcessor發(fā)布處理器

    這篇文章主要介紹了Java的Spring框架的BeanPostProcessor發(fā)布處理器,Spring是Java的SSH三大web開發(fā)框架之一,需要的朋友可以參考下
    2015-12-12
  • springboot整合Shiro

    springboot整合Shiro

    這篇文章主要介紹了SpringBoot整合Shiro一些方式,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-07-07
  • Java使用J4L識別驗證碼的操作方法

    Java使用J4L識別驗證碼的操作方法

    這篇文章主要介紹了Java使用J4L識別驗證碼的操作方法,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-02-02
  • Springboot?yml?Map?List讀取方式

    Springboot?yml?Map?List讀取方式

    這篇文章主要介紹了Springboot?yml?Map?List讀取方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-02-02
  • Java讀取本地json文件及相應(yīng)處理方法

    Java讀取本地json文件及相應(yīng)處理方法

    今天小編就為大家分享一篇Java讀取本地json文件及相應(yīng)處理方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-09-09
  • Java和Redis實現(xiàn)熱搜功能

    Java和Redis實現(xiàn)熱搜功能

    這篇文章主要介紹了Java和Redis實現(xiàn)熱搜功能,在存儲和傳輸用戶搜索數(shù)據(jù)時,考慮到數(shù)據(jù)的機(jī)密性和隱私保護(hù),本文通過實例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友參考下吧
    2024-01-01
  • Java實現(xiàn)歸并排序的示例代碼

    Java實現(xiàn)歸并排序的示例代碼

    歸并排序是建立在歸并操作上的一種有效的排序算法。該算法是采用分治法(Divide?and?Conquer)的一個非常典型的應(yīng)用。本文將用Java實現(xiàn)這一排序,需要的可以參考一下
    2022-08-08
  • SpringBoot2.x過后static下的靜態(tài)資源無法訪問的問題

    SpringBoot2.x過后static下的靜態(tài)資源無法訪問的問題

    這篇文章主要介紹了SpringBoot2.x過后static下的靜態(tài)資源無法訪問的問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-01-01

最新評論