學框架就一定要學的SSM框架大家都學會了嗎?小編這里就為框架入門的小伙伴們簡單的整理了SSM的概念、原理和優(yōu)勢等內(nèi)容,剛剛學SSM的同學千萬不要錯過喲。

一、SSM框架的簡單介紹
1、什么是SSM框架呢?
SSM框架就是Spring、Spring?MVC和MyBatis框架的縮寫,是標準的MVC模式,將整個系統(tǒng)劃分為四層:表現(xiàn)層、controller層、service層、DAO層。使用SSM框架的好處是在于其易復用和簡化開發(fā),掌握了每個框架的核心思想。
其中,spring MVC負責請求的轉(zhuǎn)發(fā)和視圖管理;spring實現(xiàn)業(yè)務(wù)對象管理;MyBatis作為數(shù)據(jù)對象的持久化引擎。
(1)Spring?
Spring是一個開源框架,Spring是于2003 年興起的一個輕量級的Java 開發(fā)框架,由Rod Johnson 在其著作Expert One-On-One J2EE Development and Design中闡述的部分理念和原型衍生而來。它是為了解決企業(yè)應(yīng)用開發(fā)的復雜性而創(chuàng)建的。Spring使用基本的JavaBean來完成以前只可能由EJB完成的事情。然而,Spring的用途不僅限于服務(wù)器端的開發(fā)。從簡單性、可測試性和松耦合的角度而言,任何Java應(yīng)用都可以從Spring中受益。 簡單來說,Spring是一個輕量級的控制反轉(zhuǎn)(IoC)和面向切面(AOP)的容器框架。
(2)SpringMVC?????
Spring MVC屬于SpringFrameWork的后續(xù)產(chǎn)品,已經(jīng)融合在Spring Web Flow里面。Spring MVC 分離了控制器、模型對象、分派器以及處理程序?qū)ο蟮慕巧@種分離讓它們更容易進行定制。
(3)MyBatis
MyBatis本是apache的一個開源項目iBatis, 2010年這個項目由apache software foundation 遷移到了google code,并且改名為MyBatis。MyBatis是一個基于Java的持久層框架。iBATIS提供的持久層框架包括SQL Maps和Data Access Objects(DAO)。MyBatis消除了幾乎所有的JDBC代碼和參數(shù)的手工設(shè)置以及結(jié)果集的檢索。MyBatis使用簡單的XML或注解用于配置和原始映射,將接口和 Java 的POJOs(Plain Old Java Objects,普通的 Java對象)映射成數(shù)據(jù)庫中的記錄。
二、SSM操作原理
1、Spring?MVC:
客戶端發(fā)送請求到DispacherServlet(分發(fā)器),由DispacherServlet控制器查詢HanderMapping,找到處理請求的Controller。Controller調(diào)用業(yè)務(wù)邏輯處理后,返回ModelAndView;.DispacherSerclet查詢視圖解析器,找到ModelAndView指定的視圖,視圖負責將結(jié)果顯示到客戶端。
2、Spring:
IOC容器應(yīng)該就是我們平時開發(fā)接觸最多的,它可以裝載bean,有了這個機制,我們就不用在每次使用這個類的時候為它初始化,很少看到關(guān)鍵字new。另外spring的aop,事務(wù)管理等等都是我們經(jīng)常用到的。
3、MyBatis:
MyBatis是對jdbc的封裝,它讓數(shù)據(jù)庫底層操作變的透明。MyBatis的操作都是圍繞一個sqlSessionFactory實例展開的。MyBatis通過配置文件關(guān)聯(lián)到各實體類的Mapper文件,Mapper文件中配置了每個類對數(shù)據(jù)庫所需進行的sql語句映射。在每次與數(shù)據(jù)庫交互時,通過sqlSessionFactory拿到一個sqlSession,再執(zhí)行sql命令。

三、SSM框架的優(yōu)勢:
1、Spring的優(yōu)勢:
Spring的核心思想是IoC(控制反轉(zhuǎn)),即不再需要程序員去顯式地“new”一個對象,而是讓Spring框架幫你來完成這一切。通過Spring的IOC特性,將對象之間的依賴關(guān)系交給了Spring控制,方便解耦,簡化了開發(fā)。
2、Spring MVC的優(yōu)勢:
(1)Spring?MVC是使用了MVC設(shè)計思想的輕量級web框架,對web層進行解耦,使我們開發(fā)更簡潔;
(2)與Spring無縫銜接;
(3)靈活的數(shù)據(jù)驗證,格式化,數(shù)據(jù)綁定機制。
3、MyBatis的優(yōu)勢:
(1)數(shù)據(jù)庫的操作(sql)采用xml文件配置,解除了sql和代碼的耦合;
(2)提供映射標簽,支持對象和和數(shù)據(jù)庫orm字段關(guān)系的映射,支持對象關(guān)系映射標簽,支持對象關(guān)系的組建;
(3)提供了xml標簽,支持動態(tài)的sql。