歡迎來到裝配圖網(wǎng)! | 幫助中心 裝配圖網(wǎng)zhuangpeitu.com!
裝配圖網(wǎng)
ImageVerifierCode 換一換
首頁 裝配圖網(wǎng) > 資源分類 > PPT文檔下載  

Bean的配置管理與ApplicationContext的特性.ppt

  • 資源ID:3391126       資源大?。?span id="fv058i0" class="font-tahoma">963.50KB        全文頁數(shù):36頁
  • 資源格式: PPT        下載積分:9.9積分
快捷下載 游客一鍵下載
會(huì)員登錄下載
微信登錄下載
三方登錄下載: 微信開放平臺(tái)登錄 支付寶登錄   QQ登錄   微博登錄  
二維碼
微信掃一掃登錄
下載資源需要9.9積分
郵箱/手機(jī):
溫馨提示:
用戶名和密碼都是您填寫的郵箱或者手機(jī)號(hào),方便查詢和重復(fù)下載(系統(tǒng)自動(dòng)生成)
支付方式: 支付寶    微信支付   
驗(yàn)證碼:   換一換

 
賬號(hào):
密碼:
驗(yàn)證碼:   換一換
  忘記密碼?
    
友情提示
2、PDF文件下載后,可能會(huì)被瀏覽器默認(rèn)打開,此種情況可以點(diǎn)擊瀏覽器菜單,保存網(wǎng)頁到桌面,就可以正常下載了。
3、本站不支持迅雷下載,請(qǐng)使用電腦自帶的IE瀏覽器,或者360瀏覽器、谷歌瀏覽器下載即可。
4、本站資源下載后的文檔和圖紙-無水印,預(yù)覽文檔經(jīng)過壓縮,下載后原文更清晰。
5、試題試卷類文檔,如果標(biāo)題沒有明確說明有答案則都視為沒有答案,請(qǐng)知曉。

Bean的配置管理與ApplicationContext的特性.ppt

第二章,Bean的配置管理與ApplicationContext的特性,2,回顧,掌握Spring各種抽象術(shù)語掌握Ioc及DI思想了解依賴注入各種方式配置Spring環(huán)境,編寫簡單Spring應(yīng)用程序,3,目標(biāo),熟悉BeanFactory與ApplicationContext的運(yùn)用了解Spring容器進(jìn)行各種Bean的配置與管理了解ApplicationContext的特性,4,Bean基本管理,BeanFactory接口負(fù)責(zé)讀取Bean定義文件,管理對(duì)象的加載、生成;維護(hù)Bean對(duì)象與Bean對(duì)象之間的依賴關(guān)系;負(fù)責(zé)Bean的生命周期。,BeanFactory,bean-config.xml,SpringIoC容器,bean-config.xml,bean-config.xml,Bean對(duì)象唯一,5,BeanFactory接口,方法:,6,示例,使用標(biāo)簽的name屬性來設(shè)置別名,多個(gè)別名之間以逗號(hào)隔開。,beans-config.xml,7,代碼分析,8,ApplicationContext,ApplicationContext是基于BeanFactory建立的,具備其特點(diǎn)之外,還提供一個(gè)應(yīng)用程序所需的更完整的框架功能。,提供方便地取得資源文件方法;提供解析文字消息的方法;支持國際化消息可以發(fā)布事件,對(duì)事件感興趣的Bean可以接收到這些事件,Spring的創(chuàng)始者RodJohnson建議:使用ApplicationContext代替BeanFactory,在實(shí)現(xiàn)ApplicationContext接口的類常用:org.springframework.context.support.ClassPathXmlApplicationContext,9,示例-1,在項(xiàng)目中加入spring-context.jar,10,示例-2,項(xiàng)目中有多個(gè)定義文件,如下:,11,代碼分析-1,ApplicationContext可以讀取多個(gè)Bean定義文件,以數(shù)組指定Bean定義文件的位置。,12,代碼分析-2,可以使用標(biāo)簽導(dǎo)入多個(gè)資源文件,注意其位置,13,Bean的實(shí)例化,Spring使用默認(rèn)構(gòu)造方法,Spring使用set方式注入,注意:如果使用BeanFactory,只有在使用getBean()方法真正取得bean時(shí),才會(huì)做實(shí)例化的動(dòng)作;如果使用ApplicationContext,會(huì)預(yù)先針對(duì)Bean定義文件的內(nèi)容,將所有的Bean實(shí)例化。如果不希望這樣,可以在上設(shè)置屬性”lazy-init”為true,ApplicationContext就不會(huì)在啟動(dòng)時(shí)針對(duì)該Bean做實(shí)例化的動(dòng)作。,14,Bean的scope,用的屬性“scope”來設(shè)置以下值范圍:singleton:默認(rèn)表示每一個(gè)Bean名稱只維持一個(gè)實(shí)例prototype:表示每次指定名稱來取得Bean時(shí),都會(huì)產(chǎn)生一個(gè)新的實(shí)例requestsessionglobalSession,也可以通過的屬性”singleton”屬性為true或false,Web應(yīng)用程序,15,Bean的生命周期,Bean初始化,Bean使用,Bean銷毀,BeanNameAware,setBeanName(),BeanFactoryAware,setBeanFactory(),BeanPostProcessor,postProcessBeforeInitialization(),postProcessAfterInitialization(),在Bean定義文件中定義init-method屬性設(shè)置初始化方法,修正Bean相關(guān)屬性,BeanFactory通過讀取定義文件來初始化所有Bean,ApplicationContext使用時(shí)將Spring-context.jar加載,DisposableBean,destroy(),在定義文件中設(shè)置屬性destroy-method,16,示例,設(shè)計(jì)PersonBean,其屬性pname(String)和page(int),在Spring的配置文件中設(shè)置的屬性”init-method”,將Person的實(shí)例屬性page初始為18;同時(shí)要求在初始化之前要修正pname的值都要大寫。,為屬性init-method提供方法,17,代碼分析,注意:ApplicationContext會(huì)自動(dòng)偵測(cè)是否在定義文件中定義了實(shí)現(xiàn)BeanPostProcessor接口的類,Spring容器會(huì)在每一個(gè)Bean被初始化之前、之后分別執(zhí)行方法,18,結(jié)果,19,Bean定義的繼承,在Bean定義文件中,可以設(shè)置屬性abstract=“true”,表示這是抽象的Bean定義,Spring不會(huì)實(shí)例化它;在要繼承中設(shè)置屬性parent=“抽象Bean”,問題:在定義文件中可以不用abstract屬性直接繼承某個(gè)bean定義嗎?,20,Bean的依賴設(shè)置,方式:Type2IoC與Type3IoC(利用構(gòu)造方法依賴注入),21,運(yùn)行結(jié)果,注意:在定義文件中,使用標(biāo)簽來表示將使用ConstructorInjection,必須依照構(gòu)造參數(shù)的順序?;蛘咧付ㄋ饕恢?,“index”屬性用于指定對(duì)象將注入至構(gòu)造方法中哪一個(gè)位置的參數(shù),參數(shù)索引位置從0開始。Spring會(huì)自動(dòng)解析構(gòu)造方法上的參數(shù)類型及所設(shè)置的依賴注入,用以決定使用哪個(gè)構(gòu)造方法。,22,依賴值設(shè)置與參考,在定義文件中,如果設(shè)置某個(gè)屬性為null,使用標(biāo)簽;如果設(shè)置字符串為空串:Spring中使用引用其他Bean,表示引用一個(gè)id或name,這個(gè)bean可以在同一個(gè)xml文件中,也可以不在當(dāng)前xml文件中;不在同一文件中,使用import來引入其他配置文件;,表示引用當(dāng)前xml文件中的id,使用內(nèi)部Bean,不需要id,只能在此處使用。,23,示例,24,集合注入,對(duì)于數(shù)組、List、Set、Map等集合對(duì)象,在注入前必須填充入一些對(duì)象至集合中,然后將集合對(duì)象注入到所需的Bean,也可以由IoC容器來完成集合對(duì)象的注入;對(duì)于數(shù)組或List類型的依賴注入,在定義文件中使用標(biāo)簽;對(duì)于Map類型,使用標(biāo)簽,但要用表示key。對(duì)于Set類型,使用標(biāo)簽;若要注入的是properties類型,使用標(biāo)簽,25,示例,26,代碼分析,27,結(jié)果,28,標(biāo)簽,Spring2.0可以新增標(biāo)簽進(jìn)行擴(kuò)充,使用、取代簡化集合的配置。在使用之前在配置文件中加入util的命名空間。示例:利用標(biāo)簽改寫上述配置文件,29,代碼分析,添加util命名空間配置,若不指定,由容器自行決定實(shí)現(xiàn)的容器對(duì)象,30,資源、消息、事件,Spring提供了對(duì)資源存取的接口:org.springframework.core.io.ResourceLoaderApplicationContext繼承該接口,使用getResource()方法來取得資源解析文字消息ApplicationContext繼承接口org.springframework.context.MessageSource接口,使用getMessage()獲得文字消息,從而實(shí)現(xiàn)國際化消息的目的。,Resourceres=context.getResource(“classpath:message.properties”);,31,示例,利用接口MessageSource的一個(gè)實(shí)現(xiàn)類ResourceBundleMessageSource來取得國際化消息,32,運(yùn)行結(jié)果,33,事件監(jiān)聽與發(fā)布,在Spring應(yīng)用程序執(zhí)行期間,ApplicationContext本身就會(huì)發(fā)布一連串的事件,這些事件都是抽象類ApplicationEvent的子類如果對(duì)事件感興趣,實(shí)現(xiàn)接口ApplicationListener,并在定義文件中定義實(shí)現(xiàn)該接口的一個(gè)Bean實(shí)例如果發(fā)布事件通知ApplicationListener的實(shí)例,可以使用ApplicationContext的publishEvent()方法,publicinterfaceApplicationListenerextendsEventListenervoidonApplicationonEvent(ApplicationEventevent);,34,示例,35,運(yùn)行結(jié)果,36,總結(jié),熟悉BeanFactory與ApplicationContext的運(yùn)用了解Spring容器進(jìn)行各種Bean的配置與管理了解ApplicationContext的特性,

注意事項(xiàng)

本文(Bean的配置管理與ApplicationContext的特性.ppt)為本站會(huì)員(max****ui)主動(dòng)上傳,裝配圖網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)上載內(nèi)容本身不做任何修改或編輯。 若此文所含內(nèi)容侵犯了您的版權(quán)或隱私,請(qǐng)立即通知裝配圖網(wǎng)(點(diǎn)擊聯(lián)系客服),我們立即給予刪除!

溫馨提示:如果因?yàn)榫W(wǎng)速或其他原因下載失敗請(qǐng)重新下載,重復(fù)下載不扣分。




關(guān)于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網(wǎng)版權(quán)所有   聯(lián)系電話:18123376007

備案號(hào):ICP2024067431號(hào)-1 川公網(wǎng)安備51140202000466號(hào)


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務(wù)平臺(tái),本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)上載內(nèi)容本身不做任何修改或編輯。若文檔所含內(nèi)容侵犯了您的版權(quán)或隱私,請(qǐng)立即通知裝配圖網(wǎng),我們立即給予刪除!