一、pojo層
也有人稱其為model、domain、bean等,pojo層是對應的數據庫表的實體類。
二、1、持久層:Dao層(Mapper)
Dao(Data access object)層,稱為數據訪問層。負責與數據庫進行聯絡的一些任務都封裝在此,具體到對於某個表、某個實體的增刪改查。
- DAO層的設計首先是設計DAO的接口;
- 然后在Spring的配置文件中定義此接口的實現類;
- 然后就可在模塊中調用此接口來進行數據業務的處理,而不用關心此接口的具體實現類是哪個類,顯得結構非常清晰;
- DAO層的數據源配置,以及有關數據庫連接的參數都在Spring的配置文件中進行配置。
2、服務層:Service層
Service層主要負責業務模塊的邏輯應用設計。可以細分為service接口和serviceImpl實現類。
- 首先設計接口,再設計其實現的類;
- 接着再Spring的配置文件中配置其實現的關聯。這樣我們就可以在應用中調用Service接口來進行業務處理;
- Service層的業務實現,具體要調用到已定義的DAO層的接口;
- 封裝Service層的業務邏輯有利於通用的業務邏輯的獨立性和重復利用性,程序顯得非常簡潔。
service層里面的方法相較於dao層中的方法進行了一層包裝,例如通過id查找用戶,通過用戶名查找用戶,是在基礎的操作上又增加了一層包裝的,實現的是相對高級的操作,最后將這些操作在serviceimpl類中實現。
3、表現層:Controller層(Handler)
Controller層負責具體的業務模塊流程的控制。
- 在此層里面要調用Service層的接口來控制業務流程;
- 控制的配置也同樣是在Spring的配置文件里面進行,針對具體的業務流程,會有不同的控制器。
各層之間的聯系:
- DAO層,Service層這兩個層次都可以單獨開發,互相的耦合度很低,完全可以獨立進行,這樣的一種模式在開發大項目的過程中尤其有優勢
-
Controller,View層因為耦合度比較高,因而要結合在一起開發,但是也可以看作一個整體獨立於前兩個層進行開發。這樣,在層與層之前我們只需要知道接口的定義,調用接口即可完成所需要的邏輯單元應用,一切顯得非常清晰簡單。
-
Service邏輯層設計
- Service層是建立在DAO層之上的,建立了DAO層后才可以建立Service層,而Service層又是在Controller層之下的,因而Service層應該既調用DAO層的接口,又要提供接口給Controller層的類來進行調用,它剛好處於一個中間層的位置。每個模型都有一個Service接口,每個接口分別封裝各自的業務處理方法。
對象的調用流程: 前端JSP ——> Controller ——> Service ——> Dao ——> 數據庫
參考:
http://blog.csdn.net/lutianfeiml/article/details/51864160
http://blog.csdn.net/u010786902/article/details/50948297
https://www.cnblogs.com/shenxiaolin/p/6674054.html
https://www.cnblogs.com/FightingMan/p/6193024.html
《Spring+Mybatis企業應用實戰》