隨筆-295  評論-26  文章-1  trackbacks-0
          Spring中Bean的生命周期
          ? ? 在傳統的Java應用中,Bean的生命周期非常簡單。Java的關鍵詞new用來實例化Bean(或許他是非序列化的)。這樣就夠用了。相反,Bean的生命周期在Spring容器中更加細致。理解Spring Bean的生命周期非常重要,因為你或許要利用Spring提供的機會來訂制Bean的創建過程。


          1. 容器尋找Bean的定義信息并且將其實例化。
          2.受用依賴注入,Spring按照Bean定義信息配置Bean的所有屬性。
          3.如果Bean實現了BeanNameAware接口,工廠調用Bean的setBeanName()方法傳遞Bean的ID。
          4.如果Bean實現了BeanFactoryAware接口,工廠調用setBeanFactory()方法傳入工廠自身。
          5.如果BeanPostProcessor和Bean關聯,那么它們的postProcessBeforeInitialzation()方法將被調用。
          6.如果Bean指定了init-method方法,它將被調用。
          7.最后,如果有BeanPsotProcessor和Bean關聯,那么它們的postProcessAfterInitialization()方法將被調用。
          ??? 到這個時候,Bean已經可以被應用系統使用了,并且將被保留在Bean Factory中知道它不再需要。有兩種方法可以把它從Bean Factory中刪除掉。
          1.如果Bean實現了DisposableBean接口,destory()方法被調用。
          2.如果指定了訂制的銷毀方法,就調用這個方法。
          ??? Bean在Spring應用上下文的生命周期與在Bean工廠中的生命周期只有一點不同,唯一不同的是,如果Bean實現了ApplicationContextAwre接口,setApplicationContext()方法被調用。



          大盤預測 國富論
          posted on 2007-08-28 12:56 華夢行 閱讀(1850) 評論(0)  編輯  收藏 所屬分類: Spring
          主站蜘蛛池模板: 林周县| 武定县| 南澳县| 奇台县| 达孜县| 璧山县| 峨山| 民丰县| 新乡县| 深水埗区| 长葛市| 嵩明县| 桃园市| 图们市| 衡阳县| 邛崃市| 京山县| 浦城县| 闸北区| 江源县| 额敏县| 惠东县| 孟州市| 昔阳县| 武威市| 团风县| 双鸭山市| 揭阳市| 长泰县| 新竹市| 上犹县| 龙胜| 老河口市| 南平市| 望城县| 山阳县| 大厂| 铜山县| 兴宁市| 江津市| 西乌|