最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

springBoot controller,service,dao,mapper,model層的作用說明

 更新時間:2021年11月16日 10:19:43   投稿:jingxian  
這篇文章主要介紹了springBoot controller,service,dao,mapper,model層的作用說明,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教

零、業(yè)務邏輯

Controller-->service接口-->serviceImpl-->dao接口-->daoImpl-->mapper-->db

一、Dao(Data Access Object):數據存儲對象

DAO = Data Access Object = 數據存取對象. 不管是什么框架,我們很多時候都會與數據庫進行交互。如果遇到一個場景我們都要去寫SQL語句,那么我們的代碼就會很冗余。所以,我們就想到了把數據庫封裝一下,讓我們的數據庫的交道看起來像和一個對象打交道,這個對象通常就是DAO。當我們操作這個對象的時候,這個對象會自動產生SQL語句來和數據庫進行交互,我們就只需要使用DAO就行了。

通常我們在DAO層里面寫接口,里面有與數據打交道的方法。SQL語句通常寫在mapper文件里面的。

優(yōu)點:結構清晰,Dao層的數據源配置以及相關的有關數據庫連接的參數都在Spring配置文件中進行配置。

二、Service:服務

服務是一個相對獨立的功能模塊,主要負責業(yè)務邏輯應用設計。首先也要設計接口,然后再設計其實現該接口的類。這樣我們就可以在應用中調用service接口進行業(yè)務處理。service層業(yè)務實現,具體調用到已經定義的DAO的接口,封裝service層的業(yè)務邏輯有利于通用的業(yè)務邏輯的獨立性和重復利用性 。

如果把Dao層當作積木,則Service層則是對積木的搭建。

三、Controller:控制器

主要負責具體業(yè)務模塊流程的控制,此層要調用到Service層的接口去控制業(yè)務流程,控制的配置同樣在Spring配置文件中配置。針對不同的業(yè)務流程有不同的控制器。在設計的過程可以設計出重復利用的子單元流程模塊。

四、model:模型

模型就是指視圖的數據Model,模型,通常來講,我們會把模型和另一個東西放在一起來說:View,視圖。

模型通常認為是視圖的內核,何謂之視圖?我們正在與之交互的網站的界面就是視圖,而模型是指他的內核數據。

將Model和View的概念拆分開來,有助于我們關注不同的方面,也可以更有效的分工。有些工程師更關注于內核也就是模型,通常來說,他們被稱之為后端工程師。有些工程師更關注于用戶界面的交互和展示,通常來說,他們被稱之為前端工程師。

五、View層

與Controller層關系緊密,View層主要負責前臺jsp頁面的表示。

六、它們之間的關系

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

DAO層、Service層和Controller層的區(qū)別

1、dao層:數據訪問層

dao層屬于一種比較底層,比較基礎的操作,具體到對于某個表的增刪改查,也就是說某個DAO一定是和數據庫的某一張表一 一對應的,其中封裝了增刪改查基本操作,建議DAO只做原子操作,增刪改查。

負責與數據庫進行聯絡的一些任務都封裝在此,dao層的設計首先是設計dao層的接口,然后在Spring的配置文件中定義此接口的實現類,然后就可以再模塊中調用此接口來進行數據業(yè)務的處理,而不用關心此接口的具體實現類是哪個類,顯得結構非常清晰,dao層的數據源配置,以及有關數據庫連接參數都在Spring配置文件中進行配置。

2、service層:服務層

粗略的理解就是對一個或多個DAO進行的再次封裝,封裝成一個服務,所以這里也就不會是一個原子操作了,需要事物控制。

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

3、controller層

Controler負責請求轉發(fā),接受頁面過來的參數,傳給Service處理,接到返回值,再傳給頁面。

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

關系

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

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

相關文章

  • SpringMVC+MyBatis實現多數據源切換

    SpringMVC+MyBatis實現多數據源切換

    在企業(yè)級應用開發(fā)中,經常需要處理來自不同數據庫的數據,為了滿足這一需求,我們可以通過配置多個數據源來實現對不同數據庫的訪問,下面我們來看看具體實現吧
    2025-01-01
  • SpringBoot排除自動加載數據源方式

    SpringBoot排除自動加載數據源方式

    這篇文章主要介紹了SpringBoot排除自動加載數據源方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-05-05
  • SpringBoot 中實現跨域的5種方式小結

    SpringBoot 中實現跨域的5種方式小結

    這篇文章主要介紹了SpringBoot 中實現跨域的5種方式小結,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2021-02-02
  • SpringBoot中配置log4j2日志詳解

    SpringBoot中配置log4j2日志詳解

    這篇文章主要介紹了SpringBoot中配置log4j2日志詳解,Apache Log4j2 是對原先的 Log4j 項目的升級版本,參考了 logback 的一些優(yōu)秀的設計,并且修復了一些問題,因此帶來了一些重大的提升,需要的朋友可以參考下
    2023-11-11
  • springBoot解決static和@Component遇到的bug

    springBoot解決static和@Component遇到的bug

    這篇文章主要介紹了springBoot解決static和@Component遇到的bug,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-02-02
  • Java Socket編程(二) Java面向連接的類

    Java Socket編程(二) Java面向連接的類

    Java Socket編程(二) Java面向連接的類...
    2006-12-12
  • 使用javaweb項目對數據庫增、刪、改、查操作的實現方法

    使用javaweb項目對數據庫增、刪、改、查操作的實現方法

    這篇文章主要給大家介紹了關于使用javaweb項目對數據庫增、刪、改、查操作的實現方法,avaWeb是指使用Java語言進行Web應用程序開發(fā)的技術,可以利用Java編寫一些動態(tài)網頁、交互式網頁、企業(yè)級應用程序等,需要的朋友可以參考下
    2023-07-07
  • openGauss數據庫JDBC環(huán)境連接配置的詳細過程(Eclipse)

    openGauss數據庫JDBC環(huán)境連接配置的詳細過程(Eclipse)

    這篇文章主要介紹了openGauss數據庫JDBC環(huán)境連接配置(Eclipse),演示基于JDBC開發(fā)的主要步驟,會涉及創(chuàng)建數據庫、創(chuàng)建表、插入數據等,本文通過實例代碼給大家介紹的非常詳細,需要的朋友可以參考下
    2022-06-06
  • 四種Java線程池用法解析

    四種Java線程池用法解析

    這篇文章主要為大家解析四種Java線程池用法,內容詳細,分析細致,感興趣的小伙伴們可以參考一下
    2016-04-04
  • springboot?vue接口測試定義編輯功能的實現

    springboot?vue接口測試定義編輯功能的實現

    這篇文章主要為大家介紹了springboot?vue接口測試定義編輯功能的實現,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-05-05

最新評論

巩义市| 成都市| 格尔木市| 平舆县| 建始县| 大宁县| 禹州市| 镇原县| 尉犁县| 沙河市| 金坛市| 南平市| 威信县| 临夏县| 孙吴县| 颍上县| 甘洛县| 汕尾市| 沈丘县| 永福县| 乐安县| 东至县| 成安县| 新龙县| 光山县| 新民市| 青河县| 北流市| 锦州市| 邻水| 获嘉县| 睢宁县| 兰州市| 南京市| 丹东市| 丹巴县| 西乌| 乐至县| 黄骅市| 乐平市| 梓潼县|