版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、7.1 Spring概述7.2注入7.3接口和基本配置7.4 Spring AOP 7.5 Spring依賴的事務(wù)支持7.6 Spring、Struts2集成7.7 Spring和Hibernate集成,7.1 Spring概述、 Spring信息幀工作的一個(gè)主要優(yōu)點(diǎn)是分層結(jié)構(gòu),當(dāng)分層結(jié)構(gòu)可以選擇任何組件時(shí),它為云同步的Java EE應(yīng)用軟件開發(fā)提供集成的信息幀工作。 Spring信息幀工作的層次結(jié)構(gòu)由7個(gè)定義良好的模塊構(gòu)成。 Spring模塊建構(gòu)在定義如何創(chuàng)建、配置和管理Bean的核心擠壓筒上,如圖7.1所示。7.1 Spring簡介、核心擠壓筒:提供spring信息幀工作的基本功能,其主要
2、組件是BeanFactory,實(shí)現(xiàn)工廠模式,它控制反向模式(IOC ) Spring的核心反應(yīng)歷程依賴于注入,也稱作反轉(zhuǎn)控制。7.2依賴于注入,依賴于注入的具體含義是:如果:個(gè)角色(可能是Java實(shí)例,呼叫者)需要另一個(gè)角色(另一個(gè)Java實(shí)例,呼叫者)的協(xié)作,則在傳統(tǒng)的計(jì)程儀編程過程中,呼叫者將創(chuàng)建呼叫者的實(shí)例斯坦共和國但是,在Spring中,創(chuàng)建被調(diào)用方的工作不再由被調(diào)用方進(jìn)行,因此,創(chuàng)建被稱為控制反轉(zhuǎn)的被調(diào)用方實(shí)例的工作通常在Spring擠壓筒下進(jìn)行,并被注入到被調(diào)用方,因此,也稱為依存注入。 依賴于7.2注入,在7.2.1工廠模型中創(chuàng)建名為FactoryExample的Java項(xiàng)目。
3、在src文件夾下創(chuàng)建包“face”,在此包下創(chuàng)建接口“Human.java”。 其查詢密碼如下: package face; publicationinterfacehumanvoidaeat (); void walk (); 7.2.1工廠型號(hào)、Chinese.java查詢密碼如下: 匯入傳真;human; publicschinesimplementshumanpublicvoieat () system.out.println (中國佬很好吃! ); 公共語音工作() system.out.println ); 7.2.1工廠型號(hào),American.java查詢密碼如下: 匯入傳真;h
4、uman; publicsamentarcementimplementshumanpublicvoieat () system.out.println (美國人吃西餐! ); public void walk () system.out.println (美國人經(jīng)常開車! ); 7.2.1在工廠模型src中創(chuàng)建軟件包“factory”,并在此軟件包中創(chuàng)建Factory.java工廠類。 其查詢密碼如下: package factory; 導(dǎo)入iface.American; 導(dǎo)入接口;Chinese; 匯入傳真;human; publicsclationforpublichationhumang
5、ethuman (string name ) if (名稱. equals (Chinese ) )返回新聞(); else if (名稱. equals (美國) )返回新美國(); 以elsethrownewillegalargumentexception (非法參數(shù))、7.2.1工廠模式、src創(chuàng)建包測試,并在此包中創(chuàng)建測試類。 其查詢密碼如下:軟件包測試; 匯入傳真;human; 導(dǎo)入工廠;工廠; publicclasstestpublicstaticvoidmain (字符串陣列) human=null; human=新工廠().gethuman (Chinese ) human.e
6、at (); human.walk (); human=新工廠().gethuman (美國) human.eat (); human.walk (); 7.2.1工廠型號(hào),該堆計(jì)程儀程序是Java應(yīng)用程序,直接運(yùn)行即可看出結(jié)果。 參見圖7.2。7.2.2根據(jù)注入應(yīng)用程序,1 .將Spring開發(fā)能力追加到項(xiàng)目工程中,右喀嚦聲項(xiàng)目工程名,依次選擇“myc eclipse”“addsprincecapabilities”后,顯示圖7.3所示的診斷計(jì)程儀,適用的Spring條請(qǐng)注意,本文檔的Spring版本是Spring 3.0。 7.2.2依賴于注入應(yīng)用程序,選擇完成后按下【Next】按鈕,則顯
7、示如圖7.4所示的畫面,用于制作Spring的配置文件。依賴于7.2.2注入應(yīng)用程序,2 .更改配置文件applicationContext.xml后,其查詢密碼如下:7.2.2依賴于注入應(yīng)用程序,3 .更改測試類配置后,查詢密碼測試類importorg.spring框架. context .應(yīng)用程序上下文; importorg.spring框架. context.support.filesystemxmlapplicationcontext; 匯入傳真;human; publicsclestetpublicstaticvoidmain (string args )應(yīng)用程序上下文tctx=ne
8、wfilesystemxmlapplicationcontext (src /應(yīng)用程序連接) human=(human ) CTX.get bean (Chinese ) human.eat (); human.walk (); human=(human ) CTX.get bean (美國) human.eat (); human.walk (); 7.2.2依賴于注入的應(yīng)用,4 .在圖7.5中示出了執(zhí)行該測試類的結(jié)果(情況ex7_FactoryExample )。7.2.3注入的兩種方式,1 .注入人的接口Human.java,查詢密碼如下: publicationinterfacehum
9、anvoidspeap (); 語言接口Language.java,查詢密碼如下: publicationinterformanagelanguagepublicstringkind ();7.2.3注入的兩種方式,以下是Human實(shí)現(xiàn)類Chinese.java查詢密碼: publiclschinesimplementshumanprivatelanguagelan; publicvoidspeap () system.out.println (LAN.kind () ); 公共語言區(qū)域網(wǎng)(LAN ) this.LAN=LAN; 語言安裝類English.java查詢密碼: publicsla
10、singimplementslanguagepublicstringkind () return中國佬也說英語7.2.3注入兩種方式,以下用Spring的配置文件完成其對(duì)象的注入看一下在查詢密碼:7.2.3中注入的兩種方法。 每個(gè)Bean的id膩?zhàn)臃凼荁ean的唯一id,計(jì)程儀程序通過id膩?zhàn)臃劬W(wǎng)站數(shù)據(jù)庫到Bean。 Bean和Bean的依賴關(guān)系也通過id屬性相關(guān)聯(lián)。 測試查詢密碼如下所示。 importorg.spring框架. context .應(yīng)用程序上下文; importorg.spring框架. context.support.filesystemxmlapplicationcont
11、ext; publicsclestetpublicstaticvoidmain (string args )應(yīng)用程序上下文tctx=newfilesystemxmlapplicationcontext (src /應(yīng)用程序連接) human=(human ) CTX.get bean (Chinese ) human.speak (); 7.2.3注入的兩種方式、方案的執(zhí)行結(jié)果在圖7.6中表示(ex7_FactoryExample1)。 7.2.3注入的兩種方式,2 .結(jié)構(gòu)注入,如簡單修改上一個(gè)查詢密碼Chinese類,則為publicschinesimplementshumanprivate
12、languagelan; 公共信息(); /帶結(jié)構(gòu)注入所需的參數(shù)的構(gòu)造器公共線路(language LAN ) this.LAN=LAN; publicvoidspeap () system.out.println (LAN.kind () );7.2.3注入的兩種方式,配置文件也需要簡單修改: 7.3接口和基本配置,7.3.1 Spring核心接口1BeanFactory BeanFactory采用了工廠設(shè)計(jì)模型。 此接口負(fù)責(zé)創(chuàng)建和分發(fā)Bean,但與其他factory模式實(shí)現(xiàn)不同,它僅分發(fā)一種類型的對(duì)象。 Bean工廠是一個(gè)通用工廠,可以創(chuàng)建和分發(fā)不同類型的Bean。 2 .在應(yīng)用程序上下文
13、的表面上,應(yīng)用程序上下文和BeanFactory幾乎相同。 兩者都裝載Bean定義信息,組裝Bean,并根據(jù)需要分發(fā)Bean。 但是,ApplicationContext提供了文本信息分析工具,包括(1)應(yīng)用程序上下文的國際化子通訊端口。 (2)應(yīng)用程序上下文提供加載文本資源的常用方法,例如加載圖像。 (3)應(yīng)用程序上下文可以向注冊(cè)為監(jiān)聽者的Bean發(fā)送上通告。 由于提供的附加功能,大多數(shù)應(yīng)用程序系統(tǒng)選擇的是應(yīng)用程序上下文,而不是BeanFactory。 7.3.1 Spring核心接口在許多應(yīng)用程序上下文實(shí)現(xiàn)中有三種通用實(shí)現(xiàn): (1)類路徑的xml文件到上下文定義(2) filesystem
14、xmlapplicationcontext :從文件系統(tǒng)內(nèi)的xml文件加載上下文定義信息。 (3) xmlwebapplicationcontext :從web系統(tǒng)的xml文件中加載上下文定義信息。示例:應(yīng)用程序上下文=newfilesystemxmlapplicationcontext (src /應(yīng)用程序上下文. XML ) applicationcontextcontext=newclassspathapplicationcontext (應(yīng)用程序上下文. XML ) applicationcontextcontext=webapplicationcontextutils.getweba
15、pplicationcontext (request.getsession ().getservletcontext ();7.3.2 Spring基本配置,在Spring擠壓筒內(nèi)連接Bean稱為組件。 實(shí)現(xiàn)Bean告訴擠壓筒實(shí)際所需的Bean以及擠壓筒如何使用依賴注入來組裝Bean。 Bean的程序集信息在XML文件中定義。 7.3.2 Spring基本配置,使用1xml組裝以下XML文件時(shí),單純的Spring上下文定義文件:/根元素/Bean關(guān)斯坦共和國字/Bean斯坦共和國,7.3.2 Spring基本配置,使用2spring添加Bean 要將Bean添加到Spring擠壓筒,必須在XM
16、L文件中僅添加一個(gè)子元素。 例如,以下語句: 典型的示例是連接池Bean。 publicsclemyconnectropolutionpolpublicevoidinitalize ()/initionconnectrolpolpublice release connections Bean的定義:- -從擠壓筒中刪除Bean時(shí)調(diào)用close方法的7.3.2 Spring基本配置,從Spring擠壓筒創(chuàng)建bean斯坦共和國時(shí)手板模型模式和單斯坦共和國模式: Spring的Bean在默認(rèn)奧爾特下為單斯坦共和國模式。 每當(dāng)擠壓筒分配Bean時(shí),都會(huì)返回相同的斯坦共和國。 要獲取每個(gè)請(qǐng)求的不同實(shí)例,必須將bean定義為手板模型模式。 的sc
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2026臨沂職業(yè)學(xué)院招聘教師和教輔人員22人考試參考題庫及答案解析
- 消費(fèi)類公司管理制度(3篇)
- 全聚德生日活動(dòng)策劃方案(3篇)
- 2026年浙江興??毓杉瘓F(tuán)有限公司下屬企業(yè)招聘3人參考考試題庫及答案解析
- 陵水打井施工方案(3篇)
- 鋁合金銷售管理制度范本(3篇)
- 內(nèi)江二幼招聘編外教師備考考試試題及答案解析
- 2026上海黃浦區(qū)中意工程創(chuàng)新學(xué)院教務(wù)崗位招聘1人備考考試試題及答案解析
- 動(dòng)量定理在高考中的應(yīng)用
- 2026年寧德師范學(xué)院附屬小學(xué)招聘教師2人備考考試題庫及答案解析
- 通信設(shè)備維護(hù)與保養(yǎng)指南
- 南通南通市通州區(qū)圖書館公開招聘勞務(wù)派遣人員筆試歷年備考題庫附帶答案詳解
- 2026年幼兒教師公招考試試題及答案
- 2026中工國際工程股份有限公司社會(huì)招聘筆試備考試題及答案解析
- 物業(yè)總經(jīng)理培訓(xùn)課件
- 短險(xiǎn)銷售技巧培訓(xùn)課件
- 2025年職業(yè)衛(wèi)生健康培訓(xùn)考試試題及答案
- 2026年二十屆四中全會(huì)精神應(yīng)知應(yīng)會(huì)題庫及答案
- 化工品物流樞紐項(xiàng)目運(yùn)營管理方案
- 丈夫家暴協(xié)議書模板
- 皮帶機(jī)制作合同范本
評(píng)論
0/150
提交評(píng)論