首頁技術(shù)文章正文

什么是SSM框架?有哪些組成部分?

更新時間:2021-06-16 來源:黑馬程序員 瀏覽量:

1577370495235_學(xué)IT就到黑馬程序員.gif

Java SSM框架即指Spring+SpringMVC+MyBatis的簡稱,框架集由Spring、MyBatis兩個開源框架整合而成(SpringMVC是Spring中的部分內(nèi)容),常作為數(shù)據(jù)源較簡單的web項目的框架。

相比于之前的SSH(Spring+Struts+Hibernate),SSM更加輕量化和靈活,是目前業(yè)界主流的Java Web開發(fā)框架。

Spring

Spring框架是一系列應(yīng)用框架的核心,是整合其他應(yīng)用框架的基礎(chǔ)。也是Spring Boot的基礎(chǔ),Spring框架里面包含了Spring、SpringMVC、SrpingTest等。

Spring的優(yōu)點總結(jié):

1、非侵入式設(shè)計

Spring是一種非侵入式(non-invasive)框架,它可以使應(yīng)用程序代碼對框架的依賴最小化。

2、 方便解耦、簡化開發(fā)

Spring就是一個大工廠,可以將所有對象的創(chuàng)建和依賴關(guān)系的維護工作都交給Spring容器管理,大大的降低了組件之間的耦合性。

3、支持AOP

Spring提供了對AOP的支持,它允許將一些通用任務(wù),如安全、事務(wù)、日志等進行集中式處理,從而提高了程序的復(fù)用性。

4、支持聲明式事務(wù)處理

只需要通過配置就可以完成對事務(wù)的管理,而無需手動編程。

5、方便程序的測試

Spring提供了對Junit4的支持,可以通過注解方便的測試Spring程序。

6、方便集成各種優(yōu)秀框架

Spring不排斥各種優(yōu)秀的開源框架,其內(nèi)部提供了對各種優(yōu)秀框架(如:Struts、Hibernate、MyBatis、Quartz等)的直接支持。

7、降低Java EE API的使用難度

Spring對Java EE開發(fā)中非常難用的一些API(如:JDBC、JavaMail等),都提供了封裝,使這些API應(yīng)用難度大大降低。

1623836943488_ssm框架.jpg

Spring MVC
SpringMVC有什么優(yōu)點?SpringMVC是spring框架的一個模塊,是基于MVC的輕量級Web框架。Spring是目前Web開發(fā)中的一個很重要的部分。尤其在企業(yè)招聘相關(guān)開發(fā)者的時候,有大量的筆試和面試題目都與springMVC有關(guān)。

  SpringMVC是一個典型教科書式的MVC框架,對于初學(xué)者而言是非常好的。其他優(yōu)點可以概括為:
  1、SpringMVC可以支持各種試圖技術(shù),而不僅僅局限于JSP;
  2、與Spring框架集成(如IoC容器、AOP等);
  3、清晰的角色分配:前端控制器(dispatcherServlet) , 請求到處理器映射(handlerMapping), 處理器適配器(HandlerAdapter), 視圖解析器(ViewResolver);
  4、支持各種請求資源的映射策略;

SpringMVC的主要組件有什么?
 ?。?)前端控制器 DispatcherServlet。接收請求、響應(yīng)結(jié)果,相當于轉(zhuǎn)發(fā)器,有了DispatcherServlet 就減少了其它組件之間的耦合度。
  (2)處理器映射器HandlerMapping。根據(jù)請求的URL來查找Handler。
  (3)處理器適配器HandlerAdapter。在編寫Handler的時候要按照HandlerAdapter要求的規(guī)則去編寫,這樣適配器HandlerAdapter才可以正確的去執(zhí)行Handler。
 ?。?)處理器Handler。編寫Handler時按照HandlerAdapter的要求去做,這樣適配器才可以去正確執(zhí)行Handler。
 ?。?)視圖解析器 ViewResolver。進行視圖的解析,根據(jù)視圖邏輯名解析成真正的視圖(view)。
  (6)視圖View。View是一個接口, 它的實現(xiàn)類支持不同的視圖類型(jsp,freemarker,pdf等等)。


MyBatis

MyBatis是一個基于Java的持久層框架,所謂的持久層框架就是專門用來將數(shù)據(jù)進行持久化的框架,也就是說將數(shù)據(jù)存儲到數(shù)據(jù)庫中的框架。學(xué)習(xí)并掌握Mybatis,首先就要了解Mybatis的核心組件。

Mybatis是半自動ORM映射工具,可以自定義高效的SQL語句提升數(shù)據(jù)庫訪問的效率。Mybatis是半自動的原因是因為我們要在Mapper文件中手寫SQL語句,全自動的ORM(如Hibernate)是不需要手寫SQL的。MyBatis可以自定義高效的SQL語句提升數(shù)據(jù)庫訪問的效率;而且MyBatis容易掌握,而Hibernate門檻較高。所以我們用Mybatis代替?zhèn)鹘y(tǒng)的Hibernate。



   

猜你喜歡:

Spring的下載和目錄結(jié)構(gòu)

MyBatis框架如何實現(xiàn)數(shù)據(jù)查詢?有幾種方法?

Mybatis 執(zhí)行SQL命令的完整流程

黑馬程序員Java開發(fā)課程

分享到:
在線咨詢 我要報名
和我們在線交談!