<pre id="bbfd9"><del id="bbfd9"><dfn id="bbfd9"></dfn></del></pre>

          <ruby id="bbfd9"></ruby><p id="bbfd9"><mark id="bbfd9"></mark></p>

          <p id="bbfd9"></p>

          <p id="bbfd9"><cite id="bbfd9"></cite></p>

            <th id="bbfd9"><form id="bbfd9"><dl id="bbfd9"></dl></form></th>

            <p id="bbfd9"><cite id="bbfd9"></cite></p><p id="bbfd9"></p>
            <p id="bbfd9"><cite id="bbfd9"><progress id="bbfd9"></progress></cite></p>

            Spring創建Bean過程的方法

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

            Spring創建Bean過程的方法

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

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

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

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

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

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

              國際化支持

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

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

              3. Spring目前提供了兩個MessageSource的實現,他們是

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

              在Spring中使用資源

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

              Resource getResource(String location)

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

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

              file:\c:/test.data

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

              WEB-INF/test.dat

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

              Resource提供了與協議無關的特性。

              事件傳遞

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

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

              a. ContextRefreshedEvent

              當ApplicationContext已經初始化或刷新后發送的事件。這里初始化意味著:所有的bean被裝載,singleton被預實例化,以及ApplicationContext已經準備好。

              b. ContextClosedEvent

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

              c. RequestHandledEvent

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

            【Spring創建Bean過程的方法】相關文章:

            創建公司的過程08-15

            word創建編號的方法09-18

            LabVIEW創建DLL的方法04-11

            在word中創建宏的方法09-25

            javascript數據創建方法參考07-30

            CAD圖層創建與編輯的方法10-18

            分娩過程的心理護理及自我調適方法07-29

            javascript設置創建動態表格的方法09-19

            紋眼線的恢復過程-紋眼線的護理方法09-07

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

                    <pre id="bbfd9"><del id="bbfd9"><dfn id="bbfd9"></dfn></del></pre>

                    <ruby id="bbfd9"></ruby><p id="bbfd9"><mark id="bbfd9"></mark></p>

                    <p id="bbfd9"></p>

                    <p id="bbfd9"><cite id="bbfd9"></cite></p>

                      <th id="bbfd9"><form id="bbfd9"><dl id="bbfd9"></dl></form></th>

                      <p id="bbfd9"><cite id="bbfd9"></cite></p><p id="bbfd9"></p>
                      <p id="bbfd9"><cite id="bbfd9"><progress id="bbfd9"></progress></cite></p>
                      飘沙影院