時(shí)光如水

          我心跳動(dòng)
          posts - 6, comments - 10, trackbacks - 0, articles - 4
            BlogJava :: 首頁(yè) :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理

          IoC容器實(shí)例化過(guò)程

          Posted on 2006-05-16 16:38 qiqijava 閱讀(541) 評(píng)論(0)  編輯  收藏 所屬分類: spring
          ?

          兩個(gè)主要容器

          BeanFactory?????????????????? XmlBeanFactory???????????????????????????????

          ??????????????????????????????????? FileSystemXmlApplicationContext

          ApplicationContext?????????? ClassPathXmlApplicationContext

          ??????????????????????????????????? XmlWebApplicationContext

          區(qū)別:

          BeanFactory????? 延遲載入所有Bean,直到getBean()被調(diào)用才創(chuàng)建Bean

          ApplicationContext 啟動(dòng)后加載所有Bean

          ?

          Bean生命周期:BeanFactory容器

          ?

          實(shí)例化

          ? 設(shè)置屬性

          ??? 調(diào)用BeanNameAwaresetBeanName()方法

          ?????? 調(diào)用BeanFactoryAwaresetBeanFactory()方法

          ????????? 調(diào)用ApplicationContextAwaresetApplicationContext()方法(如果容器為ApplicationContext)

          ????????? 調(diào)用BeanPostProcessor的預(yù)初始化方法

          ???????????? 調(diào)用InitializingBeanafterPropertiesSet()方法

          ???????????? 調(diào)用定制的初始化方法(init-method參數(shù)配置的方法)

          ????????? 調(diào)用BeanPostProcessor的后初始化方法

          至此Bean可以被使用

          ?

          調(diào)用DisposableBeandestroy()方法

          調(diào)用定制的銷毀方法(destroy-method參數(shù)配置的方法)

          至此Bean被銷毀

          ?

          BeanFactoryPostProcessor例子

          1. PropertyPlaceholderConfigurer

          ??? 從多個(gè)外部屬性文件中載入屬性,并使用這些屬性替換占位符變量

          <bean id="propertyConfigurer" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">

          ??? <property name="locations">

          ??????? <list>

          ?<value>WEB-INF/mail.properties</value>

          ?<value>WEB-INF/jdbc.properties</value>

          ??????? </list>

          ???? </property>

          </bean>

          1. CustomEditorConfigurer

          ??? 注冊(cè)定制的java.bean.PropertyEditor實(shí)現(xiàn),用它把裝配的屬性轉(zhuǎn)化為其他類型,可使用String設(shè)置給一個(gè)非String屬性


          只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。


          網(wǎng)站導(dǎo)航:
           
          主站蜘蛛池模板: 城市| 上思县| 井陉县| 娄烦县| 自贡市| 平昌县| 天柱县| 汕头市| 东宁县| 镶黄旗| 广南县| 含山县| 会泽县| 满洲里市| 沙洋县| 齐齐哈尔市| 扬州市| 宾阳县| 金塔县| 历史| 唐山市| 双江| 苗栗县| 嵊州市| 太仓市| 邮箱| 遵化市| 雷波县| 福清市| 奉贤区| 健康| 应城市| 黄浦区| 台中县| 星子县| 基隆市| 舞阳县| 广西| 三台县| 布尔津县| 岑溪市|