在java架構模式中,咱們能夠將MVC架構模式抽象爲以下結構:前端
須要注意的是,在該架構抽象模型中,並未涉及到其餘技術,如SOA,Nosql(Redis,Mongodb等),MQ等,java
除此以外,基於Springboot+Cloud的微服務技術,也未涉及,由於這裏只將基於MVC的架構模式演變,具體的JavaWeb架構,將在之後的章節講解。sql
基於如上的架構抽象模型,咱們能夠將該架構模式發展分爲三個階段:數據庫
階段一:Servlet階段後端
階段二:SSH(Spring+Structs+Hibernate)階段緩存
階段三:SSM階段(Spring+SpringMVC+Mybatis)階段安全
其實,還存在階段四,即微服務階段,本篇文章不講解。前端框架
階段一:Servlet/Filter扮演控制器角色架構
在該階段架構模式中,Servlet/Filter扮演Controller角色,JSP扮演View角色,JavaBean扮演Model角色框架
該階段的數據庫訪問技術爲具體DB的JDBC,該模式雖然實現了所謂的MVC模式,但卻存在諸多問題:
固然,還存在不少問題,這裏不一一列舉,爲了解決這些問題,JavaWeb專家們提出了一種架構思想:模塊化,抽象化和專注化的思想。
基於該思想,涌向出一批專業化開源框架,其中較爲出名的組合框架即是SSH了。
階段二:SSH
然而,SSH架構模式雖然解決了Servlet/Filter架構模式存在的問題,實現了專業化、精細化分工,實現了模塊化和抽象化,但其卻存在一個比較大的問題:框架笨重不靈活。
如Hibernate雖然能知足業務需求,能解決業務,但其笨重不靈活,不能很好地實現可配置化的靈活方式,Structs也過於笨重。
爲了解決該問題,JavaWeb專家們又提出了另一種架構模式,即SSM架構模式。
階段三:SSM
該模式中,Spring扮演Controller角色,SpringMVC扮演View角色(固然,小型系統,可直接採用SpringMVC便可),Mybatis扮演DB訪問技術SSM架構模式
在當前的JavaEE中,算是比較流行的開發模式了,也是大都數企業的技術選型之一。
固然,能與SSM相媲美的另外一種設計思想,那就是微服務思想(SpringBoot+cloud技術等),本篇文章不談及微服務。
Spring框架
Spring框架目前是JavaWeb開發的主流框架,也能夠說是諸多企業的必選框架,它大體包括六大模塊。
Mybatis框架