學(xué)框架就一定要學(xué)的SSM框架大家都學(xué)會(huì)了嗎?小編這里就為框架入門的小伙伴們簡單的整理了SSM的概念取具、原理和優(yōu)勢等內(nèi)容爽柒,剛剛學(xué)SSM的同學(xué)千萬不要錯(cuò)過喲。
一者填、SSM框架的簡單介紹
1浩村、什么是SSM框架呢?
SSM框架就是Spring占哟、Spring?MVC和MyBatis框架的縮寫心墅,是標(biāo)準(zhǔn)的MVC模式,將整個(gè)系統(tǒng)劃分為四層:表現(xiàn)層榨乎、controller層怎燥、service層、DAO層蜜暑。使用SSM框架的好處是在于其易復(fù)用和簡化開發(fā),掌握了每個(gè)框架的核心思想铐姚。
其中,spring MVC負(fù)責(zé)請求的轉(zhuǎn)發(fā)和視圖管理;spring實(shí)現(xiàn)業(yè)務(wù)對象管理隐绵;MyBatis作為數(shù)據(jù)對象的持久化引擎之众。
(1)Spring?
Spring是一個(gè)開源框架,Spring是于2003 年興起的一個(gè)輕量級(jí)的Java 開發(fā)框架依许,由Rod Johnson 在其著作Expert One-On-One J2EE Development and Design中闡述的部分理念和原型衍生而來棺禾。它是為了解決企業(yè)應(yīng)用開發(fā)的復(fù)雜性而創(chuàng)建的。Spring使用基本的JavaBean來完成以前只可能由EJB完成的事情峭跳。然而膘婶,Spring的用途不僅限于服務(wù)器端的開發(fā)。從簡單性蛀醉、可測試性和松耦合的角度而言悬襟,任何Java應(yīng)用都可以從Spring中受益。 簡單來說拯刁,Spring是一個(gè)輕量級(jí)的控制反轉(zhuǎn)(IoC)和面向切面(AOP)的容器框架脊岳。
(2)SpringMVC?????
Spring MVC屬于SpringFrameWork的后續(xù)產(chǎn)品,已經(jīng)融合在Spring Web Flow里面筛璧。Spring MVC 分離了控制器逸绎、模型對象惹恃、分派器以及處理程序?qū)ο蟮慕巧舶@種分離讓它們更容易進(jìn)行定制。
(3)MyBatis
MyBatis本是apache的一個(gè)開源項(xiàng)目iBatis, 2010年這個(gè)項(xiàng)目由apache software foundation 遷移到了google code巫糙,并且改名為MyBatis朗儒。MyBatis是一個(gè)基于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指定的視圖沮尿,視圖負(fù)責(zé)將結(jié)果顯示到客戶端。
2较解、Spring:
IOC容器應(yīng)該就是我們平時(shí)開發(fā)接觸最多的畜疾,它可以裝載bean赴邻,有了這個(gè)機(jī)制,我們就不用在每次使用這個(gè)類的時(shí)候?yàn)樗跏蓟辜玻苌倏吹疥P(guān)鍵字new乍楚。另外spring的aop,事務(wù)管理等等都是我們經(jīng)常用到的届慈。
3徒溪、MyBatis:
MyBatis是對jdbc的封裝,它讓數(shù)據(jù)庫底層操作變的透明金顿。MyBatis的操作都是圍繞一個(gè)sqlSessionFactory實(shí)例展開的臊泌。MyBatis通過配置文件關(guān)聯(lián)到各實(shí)體類的Mapper文件,Mapper文件中配置了每個(gè)類對數(shù)據(jù)庫所需進(jìn)行的sql語句映射揍拆。在每次與數(shù)據(jù)庫交互時(shí)渠概,通過sqlSessionFactory拿到一個(gè)sqlSession,再執(zhí)行sql命令嫂拴。
三播揪、SSM框架的優(yōu)勢:
1、Spring的優(yōu)勢:
Spring的核心思想是IoC(控制反轉(zhuǎn))筒狠,即不再需要程序員去顯式地“new”一個(gè)對象猪狈,而是讓Spring框架幫你來完成這一切。通過Spring的IOC特性辩恼,將對象之間的依賴關(guān)系交給了Spring控制雇庙,方便解耦,簡化了開發(fā)灶伊。
2疆前、Spring MVC的優(yōu)勢:
(1)Spring?MVC是使用了MVC設(shè)計(jì)思想的輕量級(jí)web框架,對web層進(jìn)行解耦聘萨,使我們開發(fā)更簡潔竹椒;
(2)與Spring無縫銜接;
(3)靈活的數(shù)據(jù)驗(yàn)證米辐,格式化胸完,數(shù)據(jù)綁定機(jī)制。
3儡循、MyBatis的優(yōu)勢:
(1)數(shù)據(jù)庫的操作(sql)采用xml文件配置舶吗,解除了sql和代碼的耦合;
(2)提供映射標(biāo)簽择膝,支持對象和和數(shù)據(jù)庫orm字段關(guān)系的映射誓琼,支持對象關(guān)系映射標(biāo)簽,支持對象關(guān)系的組建;
(3)提供了xml標(biāo)簽腹侣,支持動(dòng)態(tài)的sql叔收。