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