什么是spring,他有什么特點(diǎn)?

什么是spring,他有什么特點(diǎn)?

ID:12180426

大?。?1.00 KB

頁數(shù):4頁

時(shí)間:2018-07-16

什么是spring,他有什么特點(diǎn)?_第1頁
什么是spring,他有什么特點(diǎn)?_第2頁
什么是spring,他有什么特點(diǎn)?_第3頁
什么是spring,他有什么特點(diǎn)?_第4頁
資源描述:

《什么是spring,他有什么特點(diǎn)?》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫。

1、什么是Spring,他有什么特點(diǎn)?Spring是一個(gè)輕量級(jí)的控制反轉(zhuǎn)(IoC)和面向切面(AOP)的容器框架。◆輕量——從大小與開銷兩方面而言Spring都是輕量的。完整的Spring框架可以在一個(gè)大小只有1MB多的JAR文件里發(fā)布。并且Spring所需的處理開銷也是微不足道的。此外,Spring是非侵入式的:典型地,Spring應(yīng)用中的對(duì)象不依賴于Spring的特定類?!艨刂品崔D(zhuǎn)——Spring通過一種稱作控制反轉(zhuǎn)(IoC)的技術(shù)促進(jìn)了松耦合。當(dāng)應(yīng)用了IoC,一個(gè)對(duì)象依賴的其它對(duì)象會(huì)通過被動(dòng)的方式傳遞進(jìn)來,而不是這個(gè)對(duì)象自己創(chuàng)建或者查找依賴對(duì)象。你可以認(rèn)為IoC與JN

2、DI相反——不是對(duì)象從容器中查找依賴,而是容器在對(duì)象初始化時(shí)不等對(duì)象請(qǐng)求就主動(dòng)將依賴傳遞給它?!裘嫦蚯忻妗猄pring提供了面向切面編程的豐富支持,允許通過分離應(yīng)用的業(yè)務(wù)邏輯與系統(tǒng)級(jí)服務(wù)(例如審計(jì)(auditing)和事務(wù)()管理)進(jìn)行內(nèi)聚性的開發(fā)。應(yīng)用對(duì)象只實(shí)現(xiàn)它們應(yīng)該做的——完成業(yè)務(wù)邏輯——僅此而已。它們并不負(fù)責(zé)(甚至是意識(shí))其它的系統(tǒng)級(jí)關(guān)注點(diǎn),例如日志或事務(wù)支持?!羧萜鳌猄pring包含并管理應(yīng)用對(duì)象的配置和生命周期,在這個(gè)意義上它是一種容器,你可以配置你的每個(gè)bean如何被創(chuàng)建——基于一個(gè)可配置原型(prototype),你的bean可以創(chuàng)建一個(gè)單獨(dú)的實(shí)例或

3、者每次需要時(shí)都生成一個(gè)新的實(shí)例——以及它們是如何相互關(guān)聯(lián)的。然而,Spring不應(yīng)該被混同于傳統(tǒng)的重量級(jí)的EJB容器,它們經(jīng)常是龐大與笨重的,難以使用?!艨蚣堋猄pring可以將簡(jiǎn)單的組件配置、組合成為復(fù)雜的應(yīng)用。在Spring中,應(yīng)用對(duì)象被聲明式地組合,典型地是在一個(gè)XML文件里。Spring也提供了很多基礎(chǔ)功能(事務(wù)管理、持久化框架集成等等),將應(yīng)用邏輯的開發(fā)留給了你。使用Spring有什么好處?◆Spring能有效地組織你的中間層對(duì)象,無論你是否選擇使用了EJB。如果你僅僅使用了Struts或其他的包含了J2EE特有APIs的framework,你會(huì)發(fā)現(xiàn)Spri

4、ng關(guān)注了遺留下的問題,?!鬝pring能消除在許多工程上對(duì)Singleton的過多使用。根據(jù)我的經(jīng)驗(yàn),這是一個(gè)主要的問題,它減少了系統(tǒng)的可測(cè)試性和面向?qū)ο筇匦浴!鬝pring能消除使用各種各樣格式的屬性定制文件的需要,在整個(gè)應(yīng)用和工程中,可通過一種一致的方法來進(jìn)行配置。曾經(jīng)感到迷惑,一個(gè)特定類要查找迷幻般的屬性關(guān)鍵字或系統(tǒng)屬性,為此不得不讀Javadoc乃至源編碼嗎?有了Spring,你可很簡(jiǎn)單地看到類的JavaBean屬性。倒置控制的使用(在下面討論)幫助完成這種簡(jiǎn)化?!鬝pring能通過接口而不是類促進(jìn)好的編程習(xí)慣,減少編程代價(jià)到幾乎為零?!鬝pring被設(shè)計(jì)為讓

5、使用它創(chuàng)建的應(yīng)用盡可能少的依賴于他的APIs。在Spring應(yīng)用中的大多數(shù)業(yè)務(wù)對(duì)象沒有依賴于Spring。◆使用Spring構(gòu)建的應(yīng)用程序易于單元測(cè)試?!鬝pring能使EJB的使用成為一個(gè)實(shí)現(xiàn)選擇,而不是應(yīng)用架構(gòu)的必然選擇。你能選擇用POJOs或localEJBs來實(shí)現(xiàn)業(yè)務(wù)接口,卻不會(huì)影響調(diào)用代碼?!鬝pring幫助你解決許多問題而無需使用EJB。Spring能提供一種EJB的替換物,它們適于許多web應(yīng)用。例如,Spring能使用AOP提供聲明性事務(wù)而不通過使用EJB容器,如果你僅僅需要與單個(gè)的數(shù)據(jù)庫打交道,甚至不需要JTA實(shí)現(xiàn)。■Spring為數(shù)據(jù)存取提供了一致的

6、框架,不論是使用JDBC或O/Rmapping產(chǎn)品(如Hibernate)。Spring確實(shí)使你能通過最簡(jiǎn)單可行的解決辦法解決你的問題。這些特性是有很大價(jià)值的。總結(jié)起來,Spring有如下優(yōu)點(diǎn):◆低侵入式設(shè)計(jì),代碼污染極低◆獨(dú)立于各種應(yīng)用服務(wù)器,可以真正實(shí)現(xiàn)WriteOnce,RunAnywhere的承諾◆Spring的DI機(jī)制降低了業(yè)務(wù)對(duì)象替換的復(fù)雜性◆Spring并不完全依賴于Spring,開發(fā)者可自由選用Spring框架的部分或全部Spring框架有哪幾部分組成?Spring框架有七個(gè)模塊組成組成,這7個(gè)模塊(或組件)均可以單獨(dú)存在,也可以與其它一個(gè)或多個(gè)模塊聯(lián)合

7、使用,主要功能表現(xiàn)如下:?Spring核心容器(Core):提供Spring框架的基本功能。核心容器的主要組件是BeanFactory,她是工廠模式的實(shí)現(xiàn)。BeanFactory使用控制反轉(zhuǎn)(Ioc)模式將應(yīng)用程序的配置和依賴性規(guī)范與實(shí)際的應(yīng)用代碼程序分開。?SpringAOP:通過配置管理特性,SpringAOP模塊直接面向方面的編程功能集成到了Spring框架中,所以可以很容易的使Spring框架管理的任何對(duì)象支持AOP。SpringAOP模塊為基于Spring的應(yīng)用程序中的對(duì)象提供了事務(wù)管理服務(wù)。通過使用SpringAOP,不用依賴

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文

此文檔下載收益歸作者所有

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動(dòng)畫的文件,查看預(yù)覽時(shí)可能會(huì)顯示錯(cuò)亂或異常,文件下載后無此問題,請(qǐng)放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫負(fù)責(zé)整理代發(fā)布。如果您對(duì)本文檔版權(quán)有爭(zhēng)議請(qǐng)及時(shí)聯(lián)系客服。
3. 下載前請(qǐng)仔細(xì)閱讀文檔內(nèi)容,確認(rèn)文檔內(nèi)容符合您的需求后進(jìn)行下載,若出現(xiàn)內(nèi)容與標(biāo)題不符可向本站投訴處理。
4. 下載文檔時(shí)可能由于網(wǎng)絡(luò)波動(dòng)等原因無法下載或下載錯(cuò)誤,付費(fèi)完成后未能成功下載的用戶請(qǐng)聯(lián)系客服處理。