更新時(shí)間:2021-06-16 來(lái)源:黑馬程序員 瀏覽量:
Java SSM框架即指Spring+SpringMVC+MyBatis的簡(jiǎn)稱(chēng),框架集由Spring、MyBatis兩個(gè)開(kāi)源框架整合而成(SpringMVC是Spring中的部分內(nèi)容),常作為數(shù)據(jù)源較簡(jiǎn)單的web項(xiàng)目的框架。
相比于之前的SSH(Spring+Struts+Hibernate),SSM更加輕量化和靈活,是目前業(yè)界主流的Java Web開(kāi)發(fā)框架。
Spring框架是一系列應(yīng)用框架的核心,是整合其他應(yīng)用框架的基礎(chǔ)。也是Spring Boot的基礎(chǔ),Spring框架里面包含了Spring、SpringMVC、SrpingTest等。
Spring的優(yōu)點(diǎn)總結(jié):
1、非侵入式設(shè)計(jì)
Spring是一種非侵入式(non-invasive)框架,它可以使應(yīng)用程序代碼對(duì)框架的依賴(lài)最小化。
2、 方便解耦、簡(jiǎn)化開(kāi)發(fā)
Spring就是一個(gè)大工廠,可以將所有對(duì)象的創(chuàng)建和依賴(lài)關(guān)系的維護(hù)工作都交給Spring容器管理,大大的降低了組件之間的耦合性。
3、支持AOP
Spring提供了對(duì)AOP的支持,它允許將一些通用任務(wù),如安全、事務(wù)、日志等進(jìn)行集中式處理,從而提高了程序的復(fù)用性。
4、支持聲明式事務(wù)處理
只需要通過(guò)配置就可以完成對(duì)事務(wù)的管理,而無(wú)需手動(dòng)編程。
5、方便程序的測(cè)試
Spring提供了對(duì)Junit4的支持,可以通過(guò)注解方便的測(cè)試Spring程序。
6、方便集成各種優(yōu)秀框架
Spring不排斥各種優(yōu)秀的開(kāi)源框架,其內(nèi)部提供了對(duì)各種優(yōu)秀框架(如:Struts、Hibernate、MyBatis、Quartz等)的直接支持。
7、降低Java EE API的使用難度
Spring對(duì)Java EE開(kāi)發(fā)中非常難用的一些API(如:JDBC、JavaMail等),都提供了封裝,使這些API應(yīng)用難度大大降低。
SpringMVC是一個(gè)典型教科書(shū)式的MVC框架,對(duì)于初學(xué)者而言是非常好的。其他優(yōu)點(diǎn)可以概括為:
1、SpringMVC可以支持各種試圖技術(shù),而不僅僅局限于JSP;
2、與Spring框架集成(如IoC容器、AOP等);
3、清晰的角色分配:前端控制器(dispatcherServlet) , 請(qǐng)求到處理器映射(handlerMapping), 處理器適配器(HandlerAdapter), 視圖解析器(ViewResolver);
4、支持各種請(qǐng)求資源的映射策略;
SpringMVC的主要組件有什么?
(1)前端控制器 DispatcherServlet。接收請(qǐng)求、響應(yīng)結(jié)果,相當(dāng)于轉(zhuǎn)發(fā)器,有了DispatcherServlet 就減少了其它組件之間的耦合度。
?。?)處理器映射器HandlerMapping。根據(jù)請(qǐng)求的URL來(lái)查找Handler。
(3)處理器適配器HandlerAdapter。在編寫(xiě)Handler的時(shí)候要按照HandlerAdapter要求的規(guī)則去編寫(xiě),這樣適配器HandlerAdapter才可以正確的去執(zhí)行Handler。
(4)處理器Handler。編寫(xiě)Handler時(shí)按照HandlerAdapter的要求去做,這樣適配器才可以去正確執(zhí)行Handler。
?。?)視圖解析器 ViewResolver。進(jìn)行視圖的解析,根據(jù)視圖邏輯名解析成真正的視圖(view)。
?。?)視圖View。View是一個(gè)接口, 它的實(shí)現(xiàn)類(lèi)支持不同的視圖類(lèi)型(jsp,freemarker,pdf等等)。
MyBatis是一個(gè)基于Java的持久層框架,所謂的持久層框架就是專(zhuān)門(mén)用來(lái)將數(shù)據(jù)進(jìn)行持久化的框架,也就是說(shuō)將數(shù)據(jù)存儲(chǔ)到數(shù)據(jù)庫(kù)中的框架。學(xué)習(xí)并掌握Mybatis,首先就要了解Mybatis的核心組件。
Mybatis是半自動(dòng)ORM映射工具,可以自定義高效的SQL語(yǔ)句提升數(shù)據(jù)庫(kù)訪問(wèn)的效率。Mybatis是半自動(dòng)的原因是因?yàn)槲覀円贛apper文件中手寫(xiě)SQL語(yǔ)句,全自動(dòng)的ORM(如Hibernate)是不需要手寫(xiě)SQL的。MyBatis可以自定義高效的SQL語(yǔ)句提升數(shù)據(jù)庫(kù)訪問(wèn)的效率;而且MyBatis容易掌握,而Hibernate門(mén)檻較高。所以我們用Mybatis代替?zhèn)鹘y(tǒng)的Hibernate。