隨筆-21  評論-29  文章-0  trackbacks-0

          在以前的實例中我們使用的是第一種方法
          今天我們用另外兩種方法來實例化Bean

          2.使用靜態工廠方法實例化
          先建立一個工廠類PersonServiceBeanFactory

          package cn.itcast.service.impl;

          public class PersonServiceBeanFactory {
              
          public static PersonServiceBean createPersonServiceBean()//該靜態工廠方法用來創建Bean對象
                  return new PersonServiceBean();
              }
              
          }


          如何配置呢?在beans.xml加入如下配置語句
          <bean id="personService2" class="cn.itcast.service.impl.PersonServiceBeanFactory"
                    factory-method="createPersonServiceBean"/>


          將SpringTest類中的getBean參數改為personService2,看是否能夠得到。
          package junit.test;

          import org.junit.BeforeClass;
          import org.junit.Test;
          import org.springframework.context.ApplicationContext;
          import org.springframework.context.support.ClassPathXmlApplicationContext;

          import cn.itcast.service.PersonService;

          public class SpringTest {

              @BeforeClass
              
          public static void setUpBeforeClass() throws Exception {
              }


              @Test 
          public void instanceSpring(){
                  ApplicationContext ctx 
          = new ClassPathXmlApplicationContext("beans.xml");
                  PersonService personService 
          = (PersonService)ctx.getBean("personService2");
                  personService.save();
              }

          }


          執行測試單元 觀察控制器


          說明了該靜態工廠實例化Bean成功!

          3. 使用實例工廠方法實例化
           在PersonServiceBeanFactory中新建
          插入以下代碼
          public PersonServiceBean createPersonServiceBean2(){
                  
          return new PersonServiceBean();
              }

          在beans.xml中插入以下代碼
           <bean id="personServiceFactory"  class="cn.itcast.service.impl.PersonServiceBeanFactory"/>
           <bean id="personService3"  factory-bean="personServiceFactory"  factory-method="createPersonServiceBean2"/>


          將測試單元SpringTest中的getBean參數改為personService3
          執行測試單元 觀察輸出


          說明這種方式也是可以對Bean進行實例化的!

          實例化Bean常用的三種方式如上,具體運用何種方式可以根據具體情況,不過大多數情況下使用的還是第一種!
          posted on 2009-05-08 15:11 特立獨行 閱讀(324) 評論(0)  編輯  收藏 所屬分類: Spring框架
          主站蜘蛛池模板: 克什克腾旗| 安国市| 诸暨市| 武胜县| 霍邱县| 碌曲县| 策勒县| 左云县| 阿拉善盟| 舒城县| 新疆| 海林市| 樟树市| 黄梅县| 金堂县| 柳河县| 平塘县| 如皋市| 贞丰县| 天门市| 昌平区| 独山县| 乌海市| 竹山县| 东辽县| 洛阳市| 阿克陶县| 开封县| 呈贡县| 门头沟区| 松溪县| 黄石市| 沧源| 康保县| 舟山市| 梁山县| 南雄市| 恩平市| 津市市| 繁昌县| 新民市|