ssm框架:是指Spring+SpringMVC+MyBatis的整合,SpringMVC是Spring中的部分內(nèi)容纵隔。常作為數(shù)據(jù)源較簡單的web項(xiàng)目的框架翻诉。
ssm框架技術(shù)介紹:
Spring框架:是一個開源框架帆卓,Spring是于2003?年興起的一個輕量級的Java?開發(fā)框架,它是為了解決企業(yè)應(yīng)用開發(fā)的復(fù)雜性而創(chuàng)建的米丘。Spring使用基本的JavaBean來完成以前只可能由EJB完成的事情剑令。然而,Spring的用途不僅限于服務(wù)器端的開發(fā)拄查。從簡單性吁津、可測試性和松耦合的角度而言,任何Java應(yīng)用都可以從Spring中受益堕扶。?簡單來說碍脏,Spring是一個輕量級的控制反轉(zhuǎn)(IoC)和面向切面(AOP)的容器框架。
SpringMVC:屬于SpringFrameWork的后續(xù)產(chǎn)品稍算,已經(jīng)融合在Spring?Web?Flow里面典尾。Spring?MVC?分離了控制器、模型對象糊探、分派器以及處理程序?qū)ο蟮慕巧毓。@種分離讓它們更容易進(jìn)行定制。SpringMVC在項(xiàng)目中攔截用戶請求科平,它的核心Servlet承擔(dān)中介或是前臺這樣的職責(zé)褥紫,將用戶請求通過HandlerMapping去匹配Controller,Controller就是具體對應(yīng)請求所執(zhí)行的操作瞪慧。SpringMVC相當(dāng)于SSH框架中struts髓考。(可提前了解MVC框架)
?MyBatis: 本是apache的一個開源項(xiàng)目iBatis, MyBatis是一個基于Java的持久層框架。iBATIS提供的持久層框架包括SQL?Maps和DAO弃酌,MyBatis?消除了幾乎所有的JDBC代碼和參數(shù)的手工設(shè)置以及結(jié)果集的檢索氨菇。MyBatis?使用簡單的?XML或注解用于配置和原始映射,將接口和?Java?的POJOs對象映射成數(shù)據(jù)庫中的記錄妓湘。mybatis是對jdbc的封裝查蓉,它讓數(shù)據(jù)庫底層操作變的透明。mybatis通過配置文件關(guān)聯(lián)到各實(shí)體類的Mapper文件多柑,Mapper文件中配置了每個類對數(shù)據(jù)庫所需進(jìn)行的sql語句映射奶是。在每次與數(shù)據(jù)庫交互時,通過sqlSessionFactory拿到一個sqlSession竣灌,再執(zhí)行sql命令。
上文相關(guān)擴(kuò)展知識介紹:
控制反轉(zhuǎn)(IoC):是面向?qū)ο缶幊讨械囊环N設(shè)計(jì)原則秆麸,可以用來減低計(jì)算機(jī)代碼之間的耦合度初嘹。其中最常見的方式叫做依賴注入(Dependency Injection,簡稱DI)沮趣,還有一種方式叫“依賴查找”(Dependency Lookup)屯烦。
面向切面(AOP):全稱Aspect Oriented Programming。通過預(yù)編譯方式和運(yùn)行期間動態(tài)代理實(shí)現(xiàn)程序功能的統(tǒng)一維護(hù)的一種技術(shù)。主要分離日志記錄驻龟,性能統(tǒng)計(jì)温眉,安全控制,事務(wù)處理翁狐,異常處理等行為类溢,從邏輯代碼中剝離出來,放到其他部分露懒,這樣不會影響到業(yè)務(wù)邏輯闯冷。
DAO模式:Data Access Objects,是指位于業(yè)務(wù)邏輯和持久化數(shù)據(jù)之間實(shí)現(xiàn)對持久化數(shù)據(jù)的訪問懈词。通俗來講蛇耀,就是將數(shù)據(jù)庫操作都封裝起來(即數(shù)據(jù)庫操作定義為接口封裝起來)。
POJOs對象:Plain OrdinaryJava Objects坎弯,簡單的Java對象纺涤,具有一部分getter/setter方法,實(shí)際就是普通JavaBeans抠忘,是為了避免和EJB(Enterprise Java Beans技術(shù)的簡稱, 又被稱為企業(yè)Java Beans)混淆所創(chuàng)造的簡稱洒琢。
Java Beans :是可復(fù)用的組件,對 Java Bean 并沒有嚴(yán)格的規(guī)范褐桌,理論上講衰抑,任何一個 Java 類都可以是一個 Bean。但通常情況下荧嵌,由于 Java Bean 是被容器所創(chuàng)建(如 Tomcat) 的呛踊,所以 Java Bean 應(yīng)具有一個無參的構(gòu)造器,另外啦撮,通常 Java Bean 還要實(shí)現(xiàn) Serializable 接口用于實(shí)現(xiàn) Bean 的持久性谭网。 Java Bean 是不能被跨進(jìn)程訪問的。
Tomcat:Tomcat 服務(wù)器是一個免費(fèi)的開放源代碼的Web 應(yīng)用服務(wù)器赃春,屬于輕量級應(yīng)用服務(wù)器愉择,在中小型系統(tǒng)和并發(fā)訪問用戶不是很多的場合下被普遍使用,是開發(fā)和調(diào)試JSP 程序的首選织中。對于一個初學(xué)者來說锥涕,可以這樣認(rèn)為,當(dāng)在一臺機(jī)器上配置好Apache 服務(wù)器狭吼,可利用它響應(yīng)HTML(標(biāo)準(zhǔn)通用標(biāo)記語言下的一個應(yīng)用)頁面的訪問請求层坠。
MVC模式:Model-View-Controller,是軟件工程中的一種軟件架構(gòu)模式刁笙,把軟件系統(tǒng)分為三個基本部分:控制器(Controller)- 負(fù)責(zé)轉(zhuǎn)發(fā)請求破花,對請求進(jìn)行處理谦趣;視圖(View) - 界面設(shè)計(jì)人員進(jìn)行圖形界面設(shè)計(jì);模型(Model) - 程序員編寫程序應(yīng)有的功能(實(shí)現(xiàn)算法等等)座每、數(shù)據(jù)庫專家進(jìn)行數(shù)據(jù)管理和數(shù)據(jù)庫設(shè)計(jì)(可以實(shí)現(xiàn)具體的功能)前鹅。
Struts:是Apache軟件基金會(ASF)贊助的一個開源項(xiàng)目。它通過采用Java Servlet/JSP技術(shù)峭梳,實(shí)現(xiàn)了基于Java EE Web應(yīng)用的MVC設(shè)計(jì)模式的應(yīng)用框架舰绘,是MVC經(jīng)典設(shè)計(jì)模式中的一個經(jīng)典產(chǎn)品。Taglib是Struts的標(biāo)記庫延赌,靈活多用除盏,能大大提高開發(fā)效率。
JSP技術(shù):JavaServer Pages挫以,一種動態(tài)網(wǎng)頁技術(shù)標(biāo)準(zhǔn)者蠕,JSP將Java代碼和特定變動內(nèi)容嵌入到靜態(tài)的頁面中,實(shí)現(xiàn)以靜態(tài)頁面為模板掐松,動態(tài)生成其中的部分內(nèi)容踱侣。即JSP技術(shù)以Java語言作為腳本語言,為用戶的HTTP請求提供服務(wù)大磺,并能與服務(wù)器上的其它Java程序共同處理復(fù)雜的業(yè)務(wù)需求抡句。
Servlet:是Java Servlet的簡稱,稱為小服務(wù)程序或服務(wù)連接器杠愧,用Java編寫的服務(wù)器端程序待榔,具有獨(dú)立于平臺和協(xié)議的特性,主要功能在于交互式地瀏覽和生成數(shù)據(jù)流济,生成動態(tài)Web內(nèi)容锐锣。Java Servlet 是運(yùn)行在 Web 服務(wù)器或應(yīng)用服務(wù)器上的程序,它是作為來自 Web 瀏覽器或其他 HTTP 客戶端的請求和 HTTP 服務(wù)器上的數(shù)據(jù)庫或應(yīng)用程序之間的中間層绳瘟。(Servlet 包: javax.servlet 和 javax.servlet.http 雕憔,即建立WEB項(xiàng)目是需要導(dǎo)入架包)