SSM中各層做用及關係

SSM中各層做用及關係html

1.持久層:DAO層(mapper層)(屬於mybatis模塊)java

  • DAO層:主要負責與數據庫進行交互設計,用來處理數據的持久化工做。web

  • DAO層的設計首先是設計DAO的接口,也就是項目中你看到的Dao包。spring

  • 而後在Spring的xml配置文件中定義此接口的實現類,就可在其餘模塊中調用此接口來進行數據業務的處理,而不用關心接口的具體實現類是哪一個類,這裏每每用到的就是反射機制,DAO層的jdbc.properties數據源配置,以及有 關數據庫鏈接的參數都在Spring的配置文件中進行配置。數據庫

  • ps:(有的項目裏面Dao層,寫成mapper,當成一個意思理解。)

2.業務層:Service層(屬於spring模塊)編程

  • Service層:主要負責業務模塊的邏輯應用設計。也就是項目中你看到的Service包。mybatis

  • Service層的設計首先是設計接口,再設計其實現的類。也就是項目中你看到的service+impl包。架構

  • 接着再在Spring的xml配置文件中配置其實現的關聯。這樣咱們就能夠在應用中調用Service接口來進行業務處理。app

  • 最後經過調用DAO層已定義的接口,去實現Service具體的實現類。框架

  • ps:(Service層的業務實現,具體要調用到已定義的DAO層的接口.)

3.控制層/表現層:Controller層(Handler層) (屬於springMVC模塊)

  • Controller層:主要負責具體的業務模塊流程控制,也就是你看到的controller包。

  • Controller層經過要調用Service層的接口來控制業務流程,控制的配置也一樣是在Spring的xml配置文件裏面,針對具體的業務流程,會有不一樣的控制器。

4.View層 (屬於springMVC模塊)

  • 負責前臺jsp頁面的展現,此層須要與Controller層結合起來開發。

  • Jsp發送請求,controller接收請求,處理,返回,jsp回顯數據。

3.三層架構運行流程

SSM框架下web項目運行流程

4.各層之間的聯繫

  • DAO層,Service層這兩個層次能夠單獨開發,互相的耦合度很低。

  • Controller,View層耦合度比較高,於是要結合在一塊兒開發。也能夠聽當作兩層來開發,這樣,在層與層以前咱們只須要知道接口的定義,調用接口便可完成所須要的邏輯單元應用,項目會顯得清晰簡單。

  • 值得注意的是,Service邏輯層設計: 
    • Service層是創建在DAO層之上的,在Controller層之下。於是Service層應該既調用DAO層的接口,又提供接口給Controller層的類來進行調用,它處於一箇中間層的位置。每一個模型都有一個Service接口,每一個接口分別封裝各自的業務處理方法。 
      • SSM框架下web項目運行流程

4.SSM框架實現一個web程序主要使用到以下三個技術:

  1. Spring:用到註解和自動裝配,就是Spring的兩個精髓IOC(反向控制)和 AOP(面向切面編程)。

  2. SpringMVC:用到了MVC模型,將流程控制代碼放到Controller層處理,將業務邏輯代碼放到Service層處理。

  3. Mybatis:用到了與數據庫打交道的層面,dao(mapper)層,放在全部的邏輯以後,處理與數據庫的CRUD相關的操做。

好比你開發項目的時候,須要完成一個功能模塊:

  1. 先寫實體類entity,定義對象的屬性,(能夠參照數據庫中表的字段來設置,數據庫的設計應該在全部編碼開始以前)。

  2. 寫Mapper.xml(Mybatis),其中定義你的功能,對應要對數據庫進行的那些操做,好比 insert、selectAll、selectByKey、delete、update等。

  3. 寫Mapper.java/Dao.java,將Mapper.xml中的操做按照id映射成Java函數。實際上就是Dao接口,兩者選一便可。

  4. 寫Service.java,爲控制層提供服務,接受控制層的參數,完成相應的功能,並返回給控制層。

  5. 寫Controller.java,鏈接頁面請求和服務層,獲取頁面請求的參數,經過自動裝配,映射不一樣的URL到相應的處理函數,並獲取參數,對參數進行處理,以後傳給服務層。

  6. 寫JSP頁面調用,請求哪些參數,須要獲取什麼數據。

 

源網址:https://blog.csdn.net/weixin_41871468/article/details/81329712

相關文章
相關標籤/搜索