更新時間:2020-05-18 14:44:37 來源:動力節(jié)點 瀏覽2207次
SSM框架,是Spring+SpringMVC+MyBatis的縮寫,這個是繼SSH之后,目前比較主流的JavaEE企業(yè)級框架,適用于搭建各種大型的企業(yè)級應用系統(tǒng)。
Spring開源框架,Spring是于2003年興起的一個輕量級的Java開發(fā)框架,由RodJohnson在其著作ExpertOne-On-OneJ2EEDevelopmentandDesign中闡述的部分理念和原型衍生而來。它是為了解決企業(yè)應用開發(fā)的復雜性而創(chuàng)建的。Spring使用基本的JavaBean來完成以前只可能由EJB完成的事情。然而,Spring的用途不僅限于服務器端的開發(fā)。從簡單性、可測試性和松耦合的角度而言,任何Java應用都可以從Spring中受益。簡單來說,Spring是一個輕量級的控制反轉(zhuǎn)(IoC)和面向切面(AOP)的容器框架。
A.控制反轉(zhuǎn)(IOC)是什么呢?
IOC:控制反轉(zhuǎn)也叫依賴注入。利用了工廠模式將對象交給容器管理,你只需要在spring配置文件總配置相應的bean,以及設置相關的屬性,讓spring容器來生成類的實例對象以及管理對象。在spring容器啟動的時候,spring會把你在配置文件中配置的bean都初始化好,然后在你需要調(diào)用的時候,就把它已經(jīng)初始化好的那些bean分配給你需要調(diào)用這些bean的類(假設這個類名是A),分配的方法就是調(diào)用A的setter方法來注入,而不需要你在A里面new這些bean了。[注意]:面試的時候,如果有條件,畫圖,這樣更加顯得你懂了
B.面向切面(AOP)又是什么呢?
首先,需要說明的一點,AOP只是Spring的特性,它就像OOP一樣是一種編程思想,并不是某一種技術,AOP可以說是對OOP的補充和完善。OOP引入封裝、繼承和多態(tài)性等概念來建立一種對象層次結(jié)構(gòu),用以模擬公共行為的一個集合。當我們需要為分散的對象引入公共行為的時候,OOP則顯得無能為力。也就是說,OOP允許你定義從上到下的關系,但并不適合定義從左到右的關系。例如日志功能。日志代碼往往水平地散布在所有對象層次中,而與它所散布到的對象的核心功能毫無關系。在OOP設計中,它導致了大量代碼的重復,而不利于各個模塊的重用。將程序中的交叉業(yè)務邏輯(比如安全,日志,事務等),封裝成一個切面,然后注入到目標對象(具體業(yè)務邏輯)中去。
實現(xiàn)AOP的技術,主要分為兩大類:一是采用動態(tài)代理技術,利用截取消息的方式,對該消息進行裝飾,以取代原有對象行為的執(zhí)行;二是采用靜態(tài)織入的方式,引入特定的語法創(chuàng)建“方面”,從而使得編譯器可以在編譯期間織入有關“方面”的代碼。[簡單點解釋],比方說你想在你的biz層所有類中都加上一個打印‘你好,AOP’的功能這你經(jīng)可以用aop思想來做,你先寫個類寫個方法,方法經(jīng)實現(xiàn)打印‘你好,AOP’讓后你Ioc這個類ref=“biz.*”讓每個類都注入。
SpringMVC屬于SpringFramework的后續(xù)產(chǎn)品,已經(jīng)融合在SpringWebFlow里面,它原生支持的Spring特性,讓開發(fā)變得非常簡單規(guī)范。SpringMVC分離了控制器、模型對象、分派器以及處理程序?qū)ο蟮慕巧?,這種分離讓它們更容易進行定制。
MyBatis本是apache的一個開源項目iBatis,2010年這個項目由apachesoftwarefoundation遷移到了googlecode,并且改名為MyBatis。MyBatis是一個基于Java的持久層框架。iBATIS提供的持久層框架包括SQLMaps和DataAccessObjects(DAO)MyBatis消除了幾乎所有的JDBC代碼和參數(shù)的手工設置以及結(jié)果集的檢索。MyBatis使用簡單的XML或注解用于配置和原始映射,將接口和Java的POJOs(PlainOldJavaObjects,普通的Java對象)映射成數(shù)據(jù)庫中的記錄??梢赃@么理解,MyBatis是一個用來幫你管理數(shù)據(jù)增刪改查的框架。
以上就是動力節(jié)點java培訓機構(gòu)的小編針對“Java ssm框架視頻,基本概念”的內(nèi)容進行的回答,希望對大家有所幫助,如有疑問,請在線咨詢,有專業(yè)老師隨時為你服務。