李建澤
摘 要:SSM框架,由Spring+ Spring MVC + MyBatis三大框架組成,SSM框架是繼SSH之后,廣泛用于軟件開發(fā)中的JAVAEE企業(yè)級框架,該框架適用于各種平臺各個領(lǐng)域的企業(yè)級軟件開發(fā),是當(dāng)前軟件開發(fā)中最熱門的框架。
關(guān)鍵詞:spring;springmvc;mybatis
Spring簡介
Spring是一個開源框架,為了簡化企業(yè)應(yīng)用程序的開發(fā)而誕生。以前或許只有通過EJB來完成的事情,現(xiàn)在通過Spring使用基本的JavaBean也可以完美完成。此外,Spring的用途不僅可以用于服務(wù)器端的開發(fā)。從簡單性、可測試性和耦合性的角度來看,任何基于Java開發(fā)的應(yīng)用、系統(tǒng)都可以從Spring中受益。 該框架的主要優(yōu)點(diǎn)在于分層架構(gòu)的搭建開發(fā)。作為一個分層框架,一共由七部分組成,其中最重要的模塊為控制反轉(zhuǎn)(IOC)和面向切面(AOP)。Spring 框架中的每個模塊(或組件)也可以獨(dú)立出來,或者與其他一個或多個模塊聯(lián)合實(shí)現(xiàn)新的功能模塊。以下為每個功能模塊的簡要介紹:
核心容器:核心容器提供 Spring 框架的基本功能。核心容器的主要組件是BeanFactory,它是工廠模式的實(shí)現(xiàn)。BeanFactory使用控制反轉(zhuǎn)(IOC) 模式將應(yīng)用程序的配置和依賴性規(guī)范與實(shí)際的應(yīng)用程序代碼分開。
Spring AOP:通過配置管理特性,Spring AOP 模塊直接將面向方面的編程功能集成到了Spring 框架中。所以,可以很容易地使 Spring 框架管理的任何對象支持 AOP。Spring AOP 模塊為基于Spring 的應(yīng)用程序中的對象提供了事務(wù)管理服務(wù)。通過使用 Spring AOP,不用依賴 EJB 組件,就可以將聲明性事務(wù)管理集成到應(yīng)用程序中。
Spring 上下文:Spring 上下文其實(shí)就是一個配置文件,主要功能為向Spring 框架提供上下文信息,起到一個銜接的作用。Spring 上下文還包括了企業(yè)服務(wù),例如 JNDI、EJB、電子郵件、國際化、校驗(yàn)和調(diào)度等功能。
Spring ORM:Spring ORM中包含了大量的 ORM 的對象關(guān)系工具,其中包括 JDO、iBatis SQL Map、Hibernate 所有這些框架都遵從于Spring 的通用事務(wù)和 DAO 異常層次結(jié)構(gòu)。
Spring Web 模塊:Web 上下文模塊建立在Spring上下文模塊的基礎(chǔ)上,為基于 Web 的應(yīng)用程序提供了上下文。因此Spring 框架可以與 Jakarta Struts 框架集成。此外,Web 模塊還大大簡化了處理多部分請求以及將請求參數(shù)綁定到域?qū)ο蟮墓ぷ鳌?/p>
Spring DAO:JDBC DAO 抽象層提供了有意義的異常層次結(jié)構(gòu),可用該結(jié)構(gòu)來管理異常處理和不同數(shù)據(jù)庫供應(yīng)商拋出的錯誤消息。異常層次結(jié)構(gòu)簡化了錯誤處理,并且極大地降低了需要編寫的異常代碼數(shù)量(例如打開和關(guān)閉連接)。Spring DAO 的面向 JDBC 的異常遵從通用的 DAO 異常層次結(jié)構(gòu)。
Spring Web MVC 框架:MVC 框架是一個全功能的構(gòu)建 Web 應(yīng)用程序的 MVC 實(shí)現(xiàn)。
SpringMVC簡介
SpringMvc框架包含一個MVC框架,通過該MVC框架(即:model-view-controller)可以方便、簡潔的將數(shù)據(jù)、業(yè)務(wù)、展現(xiàn)三者進(jìn)行分離開來,和ssh中的struts2的功能非常類似。SpringMvc整個框架通過圍繞DispatcherServlet的設(shè)計(jì)進(jìn)行展開,下面這個是它主要的工作原理圖:
Mybatis簡介
Mybatis的前身為iBatis,2010年iBatis從apache software foundation遷移到google code,Mybatis就應(yīng)運(yùn)而生。作為一個持久性框架,包括了DAO和Sql Maps,幾乎消除了任何JDBC和參數(shù)的手工設(shè)置。Mybatis利用XML文件或注解用于配置和原始映射。換句話說,Mybatis是一個用于對數(shù)據(jù)庫增刪改查操作進(jìn)行管理的框架。
Mybatis的結(jié)構(gòu)如下圖所示:
參考文獻(xiàn):
[1]楊開振.Java EE互聯(lián)網(wǎng)輕量級框架整合開發(fā)— —SSM框架
[M].北京:電子工業(yè)出版社,2017.07:25-36.
[2][美]尤莉安娜 科斯米納(Iuliana Cosmina).Spring 5高級編程(第5版)
[M].北京:清華大學(xué)出版社,2018.12:106-111