更新時間:2019-09-25 10:48:04 來源:動力節點 瀏覽2308次
一、JavaWeb架構演變
在java架構模式中,我們可以將MVC架構模式抽象為如下結構:
View層。View層即UI層,可采用的技術如JSP,Structs,SpringMVC等
Controller層。Controller表示控制器層,可采用的技術,如Servlet/Filter,Spring等
Service層。Service層表示核心服務層,向架構上層提供服務
DAO層。DAO層表示數據訪問層,可采用的技術如jdbc和ORM框架(如SpringJDBC,JPA,Hibernate,Mybatis等)
Model層。Model層即表示JavaBean對象
Utilities層。Utilities層表示公共工具層
需要注意的是,在該架構抽象模型中,并未涉及到其他技術,如SOA,Nosql(Redis,Mongodb等),MQ等,
除此之外,基于Springboot+Cloud的微服務技術,也未涉及,因為這里只將基于MVC的架構模式演變,具體的JavaWeb架構,將在以后的章節講解。
基于如上的架構抽象模型,我們可以將該架構模式發展分為三個階段:
階段一:Servlet階段
階段二:SSH(Spring+Structs+Hibernate)階段
階段三:SSM階段(Spring+SpringMVC+Mybatis)階段
其實,還存在階段四,即微服務階段,本篇文章不講解。
階段一:Servlet/Filter扮演控制器角色
在該階段架構模式中,Servlet/Filter扮演Controller角色,JSP扮演View角色,JavaBean扮演Model角色
該階段的數據庫訪問技術為具體DB的JDBC,該模式雖然實現了所謂的MVC模式,但卻存在諸多問題:
前后端分離不徹底。由于JSP技術前后端分離不徹底,開發人員往往會在JSP頁面中嵌套Java代碼,從而需要前端開發人員懂java技術
JSP頁面可讀性差,編寫效率低,盡管引入EL,JSTL等技術
Sevlet/Filter作為控制器,面臨的穩定性,安全性考驗(Servlet是線程不安全的)等
數據庫訪問技術采用傳統的jdbc,造成過多的冗余代碼
當然,還存在很多問題,這里不一一列舉,為了解決這些問題,JavaWeb專家們提出了一種架構思想:模塊化,抽象化和專一化的思想。
基于該思想,涌向出一批專業化開源框架,其中較為出名的組合框架便是SSH了。
階段二:SSH
在該架構模式中,Controller采用Spring框架技術,View采用Structs框架技術,DB訪問技術采用Hibernate框架技術
從SSH中,很容易看出前后端出現了專業化,精細化分工,且朝框架演變,如前端框架采用Structs,后端框架采用Spring等
然而,SSH架構模式雖然解決了Servlet/Filter架構模式存在的問題,實現了專業化、精細化分工,實現了模塊化和抽象化,但其卻存在一個比較大的問題:框架笨重不靈活。
如Hibernate雖然能滿足業務需求,能解決業務,但其笨重不靈活,不能很好地實現可配置化的靈活方式,Structs也過于笨重。
為了解決該問題,JavaWeb專家們又提出了另外一種架構模式,即SSM架構模式
階段三:SSM
該模式中,Spring扮演Controller角色,SpringMVC扮演View角色(當然,小型系統,可直接采用SpringMVC即可),Mybatis扮演DB訪問技術SSM架構模式
在當前的JavaEE中,算是比較流行的開發模式了,也是大都數企業的技術選型之一。
當然,能與SSM相媲美的另一種設計思想,那就是微服務思想(SpringBoot+cloud技術等),本篇文章不談及微服務。
二、SSM核心框架概述
Spring框架
Spring框架目前是JavaWeb開發的主流框架,也可以說是諸多企業的必選框架,它大致包括六大模塊。
Spring核心容器。該容器是Spring框架最核心部分,它管理著Spring運用中bean的創建、配置和管理等
SpringAOP。該模塊為面向切面和DI(依賴注入)提供了很好的支持
數據庫訪問與集成模塊
Web與遠程調用技術
Instrument模塊
Test模塊
根據Mybatis源碼,將其抽象為三層:基礎支持層,核心處理層和接口層
基礎支持層包括:數據源、事務管理、日志、類型轉換、緩存、Bind、解析器等
核心處理層包括:配置解析、配置映射、SQL解析、SQL執行、結果集映射、插件等
接口層主要提供JAVAAPI
以上就是動力節點java培訓機構小編介紹的“架構師眼中的Java Web系統十年架構演化之路!”的內容,希望對大家有幫助,更多java最新資訊請繼續關注動力節點java培訓機構官網,每天會有精彩內容分享與你。
0基礎 0學費 15天面授
有基礎 直達就業
業余時間 高薪轉行
工作1~3年,加薪神器
工作3~5年,晉升架構
提交申請后,顧問老師會電話與您溝通安排學習