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

          三種實例化bean的方式

           

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

           

           


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

           

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

           

          例子:

           

          (1).首先寫工廠類.他其中包含產生我們的業務bean的方法

          Java代碼 復制代碼
          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 :包含工廠類類名和產生業務bean的方法名字

           

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

           

           (3) 測試

           

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

           (4) 結果

           

          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). 首先寫工廠類.他其中包含產生我們的業務bean的方法 ,在已有代碼的基礎上

          Java代碼 復制代碼
          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產生業務bean的bean.

           

          Xml代碼 復制代碼
          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代碼 復制代碼
          1. ClassPathXmlApplicationContext ctx = new ClassPathXmlApplicationContext("beans.xml");   
          2.         PersionSevice ps=(PersionSevice)ctx.getBean("persionServiceBean3");   
          3.                                                         
          4.         ps.save();  

           (4) 結果

           

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

           

           (5) 注意,其實方式2和方式3的區別就在 工廠類中是如何產生業務bean的,方式2是static方式,方式3不是

          posted on 2009-08-25 11:59 笑口常開、財源滾滾來! 閱讀(270) 評論(0)  編輯  收藏 所屬分類: spring學習
           
          主站蜘蛛池模板: 万源市| 普兰店市| 大姚县| 南郑县| 定日县| 临高县| 青阳县| 乐业县| 莱州市| 会理县| 绥化市| 磐石市| 昭通市| 马公市| 西充县| 新和县| 山丹县| 麻阳| 苍梧县| 剑阁县| 台前县| 保德县| 阿克陶县| 太白县| 浏阳市| 阿鲁科尔沁旗| 白河县| 清流县| 鄂温| 苍南县| 新丰县| 鲜城| 广东省| 积石山| 讷河市| 江阴市| 北流市| 简阳市| 修文县| 礼泉县| 册亨县|