<dfn id="w48us"></dfn><ul id="w48us"></ul>
  • <ul id="w48us"></ul>
  • <del id="w48us"></del>
    <ul id="w48us"></ul>
  • Spring創(chuàng)建Bean過程的方法

    時間:2024-08-13 17:52:38 JAVA認證 我要投稿
    • 相關(guān)推薦

    Spring創(chuàng)建Bean過程的方法

      1. beans包提供了以編程方式管理和操作bean的基本功能,而context包增加了ApplicationContext,它以一種更加面向框架的方式增強了BeanFactory的功能。

      2. context包的基礎(chǔ)是位于org.springframework.context包中的ApplicationContext接口。它是由 BeanFactory接口派生而來的,提供了BeanFactory的所有功能。為了以一種更面向框架的方式工作,使用分層和繼承關(guān)系的上下文,context包還提供了一下的功能。

      a. MessageSource,對I18N消息的訪問。

      b. 資源訪問,例如URL和文件

      c. 事件傳遞給是吸納了ApplicationListener接口的bean

      d. 載入多個(有繼承關(guān)系)上下文,使得每一個上下文都專注于一個特定的層是,比如應(yīng)用的web層。

      國際化支持

      1. ApplicationContext擴展了MessageSource接口,因而提供了messaging的功能(I18N或者國際化)。同 NestingMessageSource一起使用,還能處理分級的信息,這些是spring提供的處理信息的基本接口。

      2. 當(dāng)一個ApplicationContext被加載時,它會自動查找在context中定義的MessageSource bean.這個bean必須交做messageSource.如果找了這樣一個bean,所有對上述方法的調(diào)用將被委托給找到的 messageSource.如果沒有找到messageSource,ApplicationContext將會嘗試查找他的父親是否包含有同名的 bean.如果有,它將把找到的bean作為MessageSource.如果他沒有找到任何的信息處理源,他會創(chuàng)建一個 StaticMessageSource.

      3. Spring目前提供了兩個MessageSource的實現(xiàn),他們是

      ResourceBundleMessageSource和StaticMessageSource.兩者都實現(xiàn)了 NestingMessageSource一邊能夠處理嵌套的信息。StaticMessageSource很少被使用,但是他提供了編程的方式向 source增加信息,我們經(jīng)常使用的是ResourceBundleMessageSource.

      在Spring中使用資源

      1. ApplicationContext繼承了ResourceLoader接口,在這個接口中,定義了getResource()方法,如下:

      Resource getResource(String location)

      該方法返回一個資源句柄。這個句柄應(yīng)該總是一個可重復(fù)使用的資源描述符,允許多次調(diào)用getInputStream();

      2. getResource()方法的參數(shù)是一個資源訪問地址,例如:

      file:\c:/test.data

      classpath:test.data(從classpath路徑中查找test.dat文件并返回他的資源句柄)

      WEB-INF/test.dat

      注意:getResource()方法返回的Resource句柄并不意味著資源實際存在,你需要調(diào)用Resource接口的exists()方法判斷資源是否存在。

      Resource提供了與協(xié)議無關(guān)的特性。

      事件傳遞

      1. ApplicationContext中的時間處理是通過AppcationEvent類和ApplicationListener接口來提供的。如果上下文中部署了一個實現(xiàn)了ApplicationListener接口的bean,每次一個ApplicationEvent發(fā)布到 ApplicationContext時,那個bean就會被通知。實質(zhì)撒謊功能,這是標準的Observer設(shè)計模式。

      2. Spring提供的三個標準事件

      a. ContextRefreshedEvent

      當(dāng)ApplicationContext已經(jīng)初始化或刷新后發(fā)送的事件。這里初始化意味著:所有的bean被裝載,singleton被預(yù)實例化,以及ApplicationContext已經(jīng)準備好。

      b. ContextClosedEvent

      當(dāng)使用ApplicationContext的close()方法結(jié)束上下文的時候發(fā)送的事件。這里意味著:singleton被銷毀。

      c. RequestHandledEvent

      一個與web相關(guān)的事件,告訴所有的bean一個HTTP請求已經(jīng)被響應(yīng)了(這個時間將會在一個請求結(jié)束后被發(fā)送—)。注意,這個時間只能應(yīng)用于使用了Spring的DispatcherServlet的web應(yīng)用。

    【Spring創(chuàng)建Bean過程的方法】相關(guān)文章:

    創(chuàng)建公司的過程08-15

    word創(chuàng)建編號的方法09-18

    LabVIEW創(chuàng)建DLL的方法04-11

    在word中創(chuàng)建宏的方法09-25

    javascript數(shù)據(jù)創(chuàng)建方法參考07-30

    CAD圖層創(chuàng)建與編輯的方法10-18

    分娩過程的心理護理及自我調(diào)適方法07-29

    javascript設(shè)置創(chuàng)建動態(tài)表格的方法09-19

    紋眼線的恢復(fù)過程-紋眼線的護理方法09-07

    鉆孔過程中鉆頭被卡住的處理方法06-29

    主站蜘蛛池模板: 精品无码久久久久久久动漫| 午夜肉伦伦影院久久精品免费看国产一区二区三区 | 国产精品乱视频| 久久99热只有频精品8| 国产精品青草久久久久福利99| 国产麻豆精品久久一二三| 欧美成人精品欧美一级乱黄一区二区精品在线| 国产精品女同久久久久电影院| 亚洲精品无码专区久久同性男| 国产精品日韩欧美在线第3页| 国产成人精品福利网站在线| 亚洲热线99精品视频| 久久精品国产国产精品四凭| 无码精品一区二区三区免费视频| 精品福利一区二区三区免费视频| 最新国产精品拍自在线观看| 国内精品久久久久久久久电影网 | 四虎永久在线精品国产馆V视影院| 亚洲国产精品一区| 成人精品在线视频| 精品无码一区二区三区爱欲| 一本一道久久a久久精品综合| 精品无码三级在线观看视频| 99久久精品免费观看国产| 国产精品亚洲欧美一区麻豆| 久久国产精品99国产精| 日韩精品无码一区二区三区免费| 亚洲欧美日韩久久精品第一区| 亚洲福利精品一区二区三区 | 久久亚洲国产午夜精品理论片| 国产精品精品自在线拍| 国产综合色在线精品| 乱码精品一区二区三区| 亚洲精品V欧洲精品V日韩精品| 亚洲午夜精品久久久久久浪潮| 日韩精品一区二三区中文| 久久亚洲中文字幕精品一区| 精品国产一区二区三区久久蜜臀 | 精品久久久久久国产三级 | 欧美亚洲国产成人精品| 9久久9久久精品|