版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
1、第11章 Spring應(yīng)用點擊添加文本點擊添加文本點擊添加文本點擊添加文本目錄010202Spring入門技術(shù)Spring框架簡介0203控制反轉(zhuǎn)與依賴注入04案例-利用Spring框架實現(xiàn)用戶登錄點擊添加文本點擊添加文本點擊添加文本點擊添加文本添加文本理解并掌握控制反轉(zhuǎn)與依賴注入了解Spring3的下載與配置了解并掌握Spring框架的特點11.1 Spring框架簡介 Spring是為了解決企業(yè)應(yīng)用開發(fā)的復(fù)雜性而創(chuàng)建的一個開源框架。該框架是一個分層架構(gòu),分層架構(gòu)的最大優(yōu)勢就是允許開發(fā)者選擇使用某一個組件,同時為J2EE應(yīng)用程序的開發(fā)提供集成框架。11.1.1 Spring框架的特點 Spr
2、ing是一個輕量級的控制反轉(zhuǎn)(IoC)和面向切面(AOP)的容器框架。1.輕量2.容器3.方便解耦,簡化開發(fā)4.AOP編程的支持5.優(yōu)秀的框架6.方便程序的測試 7.Java 源碼是經(jīng)典學(xué)習(xí)范例 11.1.2 Spring框架的下載與安裝1.Spring框架的下載 Spring官方下載地址為:/download,從該站點可以下載Spring最新穩(wěn)定版本。2.對下載的壓縮包進行解壓縮這里一共包含四個子文件夾:dist、docs、projects和src。(1)dist:該文件夾下存放Spring框架的一些JAR文件,其中Spring的核心JAR包-org.springframework.core
3、-3.1.0.RELEASE.jar文件是必須的。(2)docs:該文件夾下包含Spring的相關(guān)文檔信息。(3)projects:該文件夾包含Spring提供的應(yīng)用實例。(4)src:該文件夾下包含Spring的全部源文件,在項目開發(fā)過程中可以作為參考資料,了解其底層的實現(xiàn)。3.Spring的配置11.2 Spring入門技術(shù) 在基于Java企業(yè)平臺上的Web應(yīng)用中,通過Spring框架使大量的拓展和改進得以實現(xiàn)。為此,Spring并被許多公司公認(rèn)為具有戰(zhàn)略意義的重要框架。11.2.1 Spring的體系結(jié)構(gòu)1.核心容器 Core Container是由Core和Beans、Context、
4、Expression Language模塊組成。核心容器提供 Spring 框架的基本功能。涉及到的包包括:spring-core;spring-beans;spring-context;springcontext-support以及spring-expression。2.數(shù)據(jù)的訪問/集成 數(shù)據(jù)的訪問/集成主要包括JDBC、ORM、OXM、JMS和Transactions(事務(wù))模塊。涉及到的包包括:spring-jdbc;spring-tx;spring-orm以及spring-jms。3.Web Web層由Web、Servlet、Portlet和Struts模塊組成。涉及到的包包括:spr
5、ing-web;spring-webmvc以及spring-webmvc-portlet。4.面向方面編程和架構(gòu) 該模塊在Spring應(yīng)用中是實現(xiàn)面向方面編程的基礎(chǔ),Spring在它的AOP模塊中提供了對面向方面編程的豐富支持。通過配置管理特性,Spring AOP 模塊直接將面向方面的編程功能集成到了Spring 框架中。所以,可以很容易地使 Spring 框架管理的任何對象支持 AOP。通過使用 Spring AOP,不用依賴 EJB 組件,就可以將聲明性事務(wù)管理集成到應(yīng)用程序中。涉及到的包包括:spring-aop;spring-aspects;spring-instrument以及sp
6、ring-instrument-tomcat。5.測試 測試模塊支持測試Spring的組件,通過使用Junit和TestNGK提供了同步裝載SpringApplicationContexts和緩沖這些上下文環(huán)境。該模塊也提供了Mock對象,這些對象可以相互獨立測試代碼。涉及到的包是spring-test。11.2.2 單例模式簡介 Java模式包括很多,其中Spring實現(xiàn)了兩種基本設(shè)計模式:工廠模式和單例模式。單例模式是一種常用的軟件設(shè)計模式。在它的核心結(jié)構(gòu)中只包含一個被稱為單例類的特殊類。通過單例模式可以保證系統(tǒng)中一個類只有一個實例而且該實例易于外界訪問,從而方便對實例個數(shù)的控制并節(jié)約系統(tǒng)
7、資源。如果希望在系統(tǒng)中某個類的對象只能存在一個,單例模式是最好的解決方案。11.2.3 工廠模式簡介 在工廠模式中個,包含三個角色,這些角色及工廠模式的結(jié)構(gòu)如圖11-10所示。11.3 控制反轉(zhuǎn)與依賴注入 依賴注入(Dependency Injection ,DI)可以稱之為控制反轉(zhuǎn)(Inversion of Control,IoC),負(fù)責(zé)管理Web應(yīng)用程序中的Spring受管Bean,比如生命周期管理、事件分發(fā)、資源查找等。但是IoC不等于就是DI,也就是說,IoC包括了DI,但同時也包括了另一個稱為依賴查找(Dependency Lookup,DL)的功能。11.3.1 控制反轉(zhuǎn) IoC實
8、際上是一個很大的概念,可以用不同的方式來實現(xiàn)。其主要實現(xiàn)方式有以下兩種:1.依賴查找(Dependency Lookup):容器提供回調(diào)接口和上 下文環(huán)境給組件。 2.依賴注入(Dependency Injection):組件不做定位查詢, 只提供普通的Java方法讓容器去決定依賴關(guān)系。11.3.2 依賴注入 依賴注入的基本原則是:“查找資源”的邏輯從應(yīng)用組件的代碼中抽取出來,交給IoC容器負(fù)責(zé),應(yīng)用組件不負(fù)責(zé)查找資源或者其他依賴的協(xié)作對象。類似于EJB容器管理EJB組件一樣,Spring DI容器負(fù)責(zé)管理Bean。1.面向Java ME/Java SE的BeanFactory BeanFac
9、tory內(nèi)置了最基礎(chǔ)的DI功能,比如配置框架、基礎(chǔ)功能。一般在內(nèi)存、CPU資源受限的場合使用,比如Applet、手持設(shè)備等。開發(fā)者經(jīng)常會使用到Spring內(nèi)置的XmlBeanFactory實現(xiàn),其格式為:XmlBeanFactory bFactory = new XmlBeanFactory(new ClassPathResource(Spring.xml);2.面向Java EE的ApplicationContext Context包的基礎(chǔ)位于org.springframework.context包中的ApplicationContext接口。它是由BeanFactory接口集成而來,提供B
10、eanFactory所有的功能。為了以一種更向面向框架的方式工作,Context包使用分層和有繼承關(guān)系的上下文類。3. BeanFactory和ApplicationContext的區(qū)別(1)因為ApplicationContext包括了BeanFactory所有的功能,所以通常建議先于BeanFactory使用,除了有限的一些場合比如在一個Applet中,內(nèi)存的消耗是關(guān)鍵的,每kb字節(jié)都很重要。(2)BeanFactory當(dāng)需要調(diào)用時讀取配置信息,生成某個類的實例。如果讀入的Bean配置正確,則其他的配置中有錯誤也不會影響程序的運行。而ApplicationContext 在初始化時就把XML的配置信息讀入內(nèi)存,對 XML 文件進行檢驗,如果配置文件沒有錯誤,就創(chuàng)建所有的Bean ,直接為應(yīng)用程序服務(wù)。(3)BeanFactroy采用的是延遲加載形式來注入Bean的,即只有在使用到某個Bean時(調(diào)用getBean(),才對該Bean進行加載實例化,這樣,對發(fā)現(xiàn)某些有問題的Spring配置是很困難的。而ApplicationContext則相反,它是在容器啟動時,一次性創(chuàng)建了
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 工人勞務(wù)外包合同勞務(wù)外包合同3篇
- 新增合伙人合同3篇
- 房屋買賣合同補充協(xié)議范本3篇
- 新版團隊旅游合同3篇
- 房屋買賣合同的抵押問題3篇
- 房屋買賣合同詐騙解析3篇
- 市場調(diào)研委托合同3篇
- 房屋買賣合同解除的合同變更3篇
- 教育培訓(xùn)機構(gòu)貸款合同3篇
- 攝影器材租賃合同簡易版3篇
- 2024年電子交易:電腦買賣合同
- 中國文化概論知識試題與答案版
- 期末復(fù)習(xí)提升測試(試題)(含答案)2024-2025學(xué)年四年級上冊數(shù)學(xué)人教版
- 生和碼頭港口設(shè)施維護管理制度(3篇)
- 【MOOC】數(shù)字邏輯設(shè)計及應(yīng)用-電子科技大學(xué) 中國大學(xué)慕課MOOC答案
- 研學(xué)活動協(xié)議書合同范本
- 換熱器的原理及構(gòu)造
- 校園安全形勢會商研判制度(4篇)
- 鑄牢中華民族共同體意識-形考任務(wù)3-國開(NMG)-參考資料
- 湖北省十堰市2023-2024學(xué)年高二上學(xué)期期末調(diào)研考試 地理 含答案
- 重慶市2023-2024學(xué)年六年級上冊語文期末測試試卷(含答案)3
評論
0/150
提交評論