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

          三種實例化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 笑口常開、財源滾滾來! 閱讀(265) 評論(0)  編輯  收藏 所屬分類: spring學習
           
          主站蜘蛛池模板: 博乐市| 定结县| 广南县| 南郑县| 浪卡子县| 浮山县| 姚安县| 济阳县| 四子王旗| 盐源县| 佛教| 浮梁县| 油尖旺区| 界首市| 十堰市| 株洲县| 海南省| 永州市| 邓州市| 临安市| 封丘县| 炎陵县| 武平县| 随州市| 洞头县| 肥乡县| 水富县| 文山县| 尤溪县| 梅河口市| 大田县| 准格尔旗| 昌黎县| 高雄市| 邵武市| 临沧市| 平山县| 滕州市| 焦作市| 安宁市| 永和县|