最近工作中開發(fā)的項(xiàng)目使用了Spring-springMVC-Mybatis框架進(jìn)行開發(fā),,今天來(lái)總結(jié)寫這段時(shí)間對(duì)SSM框架的理解。在對(duì)SSM框架整合前,,先對(duì)框架的每層的作用以及它們之間的關(guān)系做一個(gè)簡(jiǎn)單的介紹,。 一、SSM框架中各層級(jí)間的作用及關(guān)系表現(xiàn)層(springMVC):Controller層(Handler層) - 負(fù)責(zé)具體的業(yè)務(wù)模塊流程的控制
- Controller層通過(guò)要調(diào)用Service層的接口來(lái)控制業(yè)務(wù)流程,,控制的
配置也在Spring配置文件里面,。
業(yè)務(wù)層(Spring):Service層 - Service層:負(fù)責(zé)業(yè)務(wù)模塊的邏輯應(yīng)用設(shè)計(jì)。
- 首先設(shè)計(jì)其接口,,然后再實(shí)現(xiàn)他的實(shí)現(xiàn)類,。
- 通過(guò)對(duì)Spring配置文件中配置其實(shí)現(xiàn)的關(guān)聯(lián),完成此步工作,,我們
就可以通過(guò)調(diào)用Service的接口來(lái)進(jìn)行業(yè)務(wù)處理,。 - 最后通過(guò)調(diào)用DAO層已定義的接口,去實(shí)現(xiàn)Service具體的 實(shí)現(xiàn)類,。
持久層(Mybatis):Dao層(Mapper層) - Dao層:負(fù)責(zé)與數(shù)據(jù)庫(kù)進(jìn)行交互設(shè)計(jì),,用來(lái)處理數(shù)據(jù)的持久化工作。
- DAO層的設(shè)計(jì)首先是設(shè)計(jì)DAO的接口,,
- 然后在Spring的配置文件中定義此接口的實(shí)現(xiàn)類,,就可在其他模塊中
調(diào)用此接口來(lái)進(jìn)行數(shù)據(jù)業(yè)務(wù)的處理,而不用關(guān)心接口的具體實(shí)現(xiàn)類是 哪個(gè)類,,這里用到的就是反射機(jī)制,, DAO層的數(shù)據(jù)源配置,以及有 關(guān)數(shù)據(jù)庫(kù)連接的參數(shù)都在Spring的配置文件中進(jìn)行配置,。
視圖層:View層 - 負(fù)責(zé)前臺(tái)jsp頁(yè)面的展示,。
- 此層需要與Controller層結(jié)合起來(lái)開發(fā)。
各層間的聯(lián)系: - 本來(lái)Controller層與View層是可以放在.jsp文件里一起開發(fā)的,,但是為了降低代碼的復(fù)雜度,,提高其可維護(hù)性,將其分為了這兩層,,這也體現(xiàn)了MVC框架的特性,,即結(jié)構(gòu)清晰,耦合度低,。
- Service層是建立在DAO層之上的,,建立了DAO層后才可以建立Service層,而Service層又是在Controller層之下的,,因而Service層應(yīng)該既調(diào)用DAO層的接口,,又要提供接口給Controller層的類來(lái)進(jìn)行調(diào)用,它剛好處于一個(gè)中間層的位置,。每個(gè)模型都有一個(gè)Service接口,,每個(gè)接口分別封裝各自的業(yè)務(wù)處理方法,。
二、SSM框架整合說(shuō)明這里有一篇總結(jié)的詳細(xì)的博文,,大家可以參考著這位博主的來(lái)理解,。 博文鏈接 三、三層架構(gòu)運(yùn)行流程
|