calmJava

          StillWaterRunsDeep
          隨筆 - 3, 文章 - 11, 評論 - 0, 引用 - 0
          數(shù)據(jù)加載中……

          spring_3

          1:
          三種實例化 bean 的方式:
          (1): 使用類構(gòu)造器實例化
          <bean id="personService" class="com.rui.personServiceBean"/>
          (2):使用靜態(tài)工廠方法實例化
          <bean id="personService" class="com.rui.personServiceBeanFactory" factory-method="createPersonServiceBean"/>
          public class PersonServiceFactory {
           public static PersonService createPersonService(){
            return new PersonServiceBean();
           }
          }
          (3): 使用實例工廠方法實例化:
          <bean id="personServiceFactory" class="com.rui.PersonServiceBeanFactory"/>
          <bean id="personService" factory-bean="personServiceFactory" factory-method="createPersonServiceBean"/>
          public class PersonServiceFactory {
           public PersonService createPersonService(){
            return new PersonServiceBean();
           }
          }

          2:
          在交給Spring管理的bean 默認是單實例 singleton

          3:
          Bean的作用域:

          (1): singleton

          此為默認值,在每個Spring IOC容器中的一個bean定義只有一個對象實例.默認情況下會在容器啟動時初始化bean.但我們可以指定Bean節(jié)點的lazy-init="true"來延遲初始化bean,這時候,只有第一次獲取bean時才初始化
          bean 如:
          <bean id="xxx" class="com.rui.PersonServiceBean" lazy-init="true"/>
          如果想對所有bean都應(yīng)用延遲初始化,可以在根節(jié)點beans設(shè)置default-lazy-init="true",如下
          <beans default-lazy-init="true" ... >

          (2): prototype
          每次從容器中獲取bean都是新的對象

          (3): request
          (4): session
          (5): global session


          4:
          指定 bean 的初始化和銷毀方法
          在XML文件中指定
          <bean id="" class="" lazy-init="false"
           init-method="init"
           destory-method="destory" />

          public class PersonServiceBean(){

           public PersonServiceBean(){
            // 在實例化時執(zhí)行  
           }
           public void init(){
            // 在初始化時執(zhí)行
           }
           public void destory(){
            // 在銷毀時執(zhí)行
           }
          }

          使Spring 容器正常的關(guān)閉
          AbstractApplicationContext ctx = new ClassPathXmlApplicationContext("beans.xml");

          ctx.close(); // 調(diào)用 .close() 方法以使 Spring 容器正常的關(guān)閉

           

           

           

           

           

           

           

          posted on 2011-01-05 20:55 calmJava 閱讀(73) 評論(0)  編輯  收藏


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


          網(wǎng)站導(dǎo)航:
           
          主站蜘蛛池模板: 北海市| 永福县| 宣汉县| 武清区| 高淳县| 彭水| 巴青县| 黄石市| 沧源| 惠州市| 水城县| 卢龙县| 乐亭县| 台北市| 鄂温| 北票市| 台中县| 怀化市| 紫金县| 上虞市| 前郭尔| 仁怀市| 东山县| 兰坪| 永福县| 新平| 寿光市| 浮山县| 弋阳县| 房产| 当涂县| 谷城县| 额济纳旗| 元谋县| 贡山| 林口县| 漳浦县| 松潘县| 晴隆县| 西宁市| 明星|