calmJava

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

          spring_3

          1:
          三種實(shí)例化 bean 的方式:
          (1): 使用類構(gòu)造器實(shí)例化
          <bean id="personService" class="com.rui.personServiceBean"/>
          (2):使用靜態(tài)工廠方法實(shí)例化
          <bean id="personService" class="com.rui.personServiceBeanFactory" factory-method="createPersonServiceBean"/>
          public class PersonServiceFactory {
           public static PersonService createPersonService(){
            return new PersonServiceBean();
           }
          }
          (3): 使用實(shí)例工廠方法實(shí)例化:
          <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 默認(rèn)是單實(shí)例 singleton

          3:
          Bean的作用域:

          (1): singleton

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

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

          (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(){
            // 在實(shí)例化時(shí)執(zhí)行  
           }
           public void init(){
            // 在初始化時(shí)執(zhí)行
           }
           public void destory(){
            // 在銷毀時(shí)執(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 閱讀(72) 評(píng)論(0)  編輯  收藏


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


          網(wǎng)站導(dǎo)航:
           
          主站蜘蛛池模板: 三穗县| 博兴县| 五家渠市| 江北区| 海淀区| 绿春县| 厦门市| 叙永县| 娱乐| 武宁县| 尼玛县| 大石桥市| 洱源县| 星座| 嘉定区| 芜湖县| 晋江市| 安仁县| 保山市| 淅川县| 永州市| 竹溪县| 自治县| 安宁市| 南溪县| 常熟市| 巨鹿县| 萨迦县| 东方市| 鸡西市| 寻甸| 思南县| 广饶县| 武安市| 宜阳县| 永寿县| 运城市| 上杭县| 平乐县| 哈密市| 宝山区|