千山鳥飛絕 萬徑人蹤滅
          勤練內(nèi)功,不斷實踐招數(shù)。爭取早日成為武林高手

          三種實例化bean的方式

           

          1.使用類構(gòu)造器實例化
          <bean id=“orderService" class="cn.itcast.OrderServiceBean"/>

           

           


          2.使用靜態(tài)工廠方法實例化
          <bean id="persionServiceBean2" class="cn.com.xinli.service.impl.PersionServiceBeanFactory" factory-method="createPersionServiceBean"/>

           

          public class PersionServiceBeanFactory
          {
           public static PersionServiceBean createPersionServiceBean()
           {
            return new PersionServiceBean();
           }
          }

           

          例子:

           

          (1).首先寫工廠類.他其中包含產(chǎn)生我們的業(yè)務(wù)bean的方法

          Java代碼 復(fù)制代碼
          1. package cn.com.xinli.service.impl;   
          2.   
          3.   
          4. public class PersionServiceBeanFactory   
          5. {   
          6.     public static PersionServiceBean createPersionServiceBean()   
          7.     {   
          8.         return new PersionServiceBean();   
          9.     }   
          10. }  

           

          (2).改寫beans.xml :包含工廠類類名和產(chǎn)生業(yè)務(wù)bean的方法名字

           

           <bean id="persionServiceBean2" class="cn.com.xinli.service.impl.PersionServiceBeanFactory" factory-method="createPersionServiceBean"/>

           

           (3) 測試

           

          Java代碼 復(fù)制代碼
          1. ClassPathXmlApplicationContext ctx = new ClassPathXmlApplicationContext("beans.xml");   
          2.         PersionSevice ps=(PersionSevice)ctx.getBean("persionServiceBean2");   
          3.                                                         
          4.         ps.save();  

           (4) 結(jié)果

           

          2009-05-24 14:34:00,781  INFO (PersionServiceBean.java:12) - 我是save()方法!

           


          3.使用實例工廠方法實例化:

           

          <bean id="PersionServiceBeanFactory" class="cn.com.xinli.service.impl.PersionServiceBeanFactory"></bean>
              <bean id="persionServiceBean3" factory-bean="PersionServiceBeanFactory" factory-method="createPersionServiceBean2"></bean>

           

          public  PersionServiceBean createPersionServiceBean2()
           {
            return new PersionServiceBean();
           }

           

          例子:

           

          (1). 首先寫工廠類.他其中包含產(chǎn)生我們的業(yè)務(wù)bean的方法 ,在已有代碼的基礎(chǔ)上

          Java代碼 復(fù)制代碼
          1. package cn.com.xinli.service.impl;   
          2.   
          3.   
          4. public class PersionServiceBeanFactory   
          5. {   
          6.     public static PersionServiceBean createPersionServiceBean()   
          7.     {   
          8.         return new PersionServiceBean();   
          9.     }   
          10.        
          11.     <SPAN style="COLOR: #ff0000">public  PersionServiceBean createPersionServiceBean2()   
          12.     {   
          13.         return new PersionServiceBean();   
          14.     }</SPAN>   
          15.        
          16. }  

           

           

          (2).改寫beans.xml :寫兩個bean,一個是工廠bean,一個是利用工廠bean產(chǎn)生業(yè)務(wù)bean的bean.

           

          Xml代碼 復(fù)制代碼
          1. <bean id="PersionServiceBeanFactory" class="cn.com.xinli.service.impl.PersionServiceBeanFactory"></bean>  
          2.     <bean id="persionServiceBean3" factory-bean="PersionServiceBeanFactory" factory-method="createPersionServiceBean2"></bean>  

           

           (3) 測試

           

          Java代碼 復(fù)制代碼
          1. ClassPathXmlApplicationContext ctx = new ClassPathXmlApplicationContext("beans.xml");   
          2.         PersionSevice ps=(PersionSevice)ctx.getBean("persionServiceBean3");   
          3.                                                         
          4.         ps.save();  

           (4) 結(jié)果

           

          2009-05-24 14:49:17,812  INFO (PersionServiceBean.java:12) - 我是save()方法!

           

           (5) 注意,其實方式2和方式3的區(qū)別就在 工廠類中是如何產(chǎn)生業(yè)務(wù)bean的,方式2是static方式,方式3不是

          posted on 2009-08-25 11:59 笑口常開、財源滾滾來! 閱讀(264) 評論(0)  編輯  收藏 所屬分類: spring學習
           
          主站蜘蛛池模板: 公安县| 嘉定区| 兰坪| 姜堰市| 奉节县| 旌德县| 大丰市| 南充市| 泰和县| 任丘市| 原阳县| 乳山市| 广河县| 文水县| 石棉县| 吴堡县| 花莲县| 平邑县| 蚌埠市| 普定县| 九寨沟县| 武乡县| 运城市| 卓资县| 宁蒗| 锦屏县| 沈丘县| 铁岭县| 横山县| 马山县| 芮城县| 沅陵县| 偏关县| 合水县| 清镇市| 景宁| 蓬安县| 罗城| 高淳县| 黄山市| 雷州市|