隨筆-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 特立獨行 閱讀(330) 評論(0)  編輯  收藏 所屬分類: Spring框架
          主站蜘蛛池模板: 桓仁| 松溪县| 子洲县| 三亚市| 西藏| 临泉县| 海原县| 巢湖市| 玉环县| 六枝特区| 平乡县| 长乐市| 新昌县| 黑山县| 肇东市| 肇州县| 德令哈市| 富宁县| 荥阳市| 嵊州市| 玛纳斯县| 乌苏市| 阜南县| 靖州| 慈利县| 江城| 寻乌县| 佛教| 珠海市| 二手房| 乐清市| 广东省| 伊宁市| 宁都县| 武鸣县| 江油市| 昭通市| 澄城县| 眉山市| 庆阳市| 张家川|