国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

spring三種實例化bean的方式

2019-11-08 03:12:24
字體:
來源:轉載
供稿:網友

在sPRing中有三中實例化bean的方式:

一、使用構造器實例化;

二、使用靜態工廠方法實例化;

三、使用實例化工廠方法實例化。

 

每種實例化所采用的配置是不一樣的:

一、使用構造器實例化;

這種實例化的方式可能在我們平時的開發中用到的是最多的,因為在xml文件中配置簡單并且也不需要額外的工廠類來實現。

 

Xml代碼  收藏代碼<!--applicationContext.xml配置:-->    <bean id="personService" class="cn.mytest.service.impl.PersonServiceBean"></bean>  

 

 id是對象的名稱,class是要實例化的類,然后再通過正常的方式進調用實例化的類即可,比如:

 

java代碼  收藏代碼public void instanceSpring(){                  //加載spring配置文件          ApplicationContext ac = new ClassPathXmlApplicationContext(                  new String[]{                          "/conf/applicationContext.xml"                  });          //調用getBean方法取得被實例化的對象。          PersonServiceBean psb = (PersonServiceBean) ac.getBean("personService");                    psb.save();  }  

 

采用這種實例化方式要注意的是:要實例化的類中如果有構造器的話,一定要有一個無參的構造器。

 

二、使用靜態工廠方法實例化;

根據這個中實例化方法的名稱就可以知道要想通過這種方式進行實例化就要具備兩個條件:(一)、要有工廠類及其工廠方法;(二)、工廠方法是靜態的。OK,知道這兩點就好辦了,首先創建工程類及其靜態方法:

 

Java代碼  收藏代碼package cn.mytest.service.impl;    /** *創建工廠類 * */  public class PersonServiceFactory {      //創建靜態方法      public static PersonServiceBean createPersonServiceBean(){           //返回實例化的類的對象          return new PersonServiceBean();      }  }  

 然后再去配置spring配置文件,配置的方法和上面有點不同,這里也是關鍵所在

 

Xml代碼  收藏代碼<!--applicationContext.xml配置:-->    <bean id="personService1" class="cn.mytest.service.impl.PersonServiceFactory" factory-method="createPersonServiceBean"></bean>  

 id是實例化的對象的名稱,class是工廠類,也就實現實例化類的靜態方法所屬的類,factory-method是實現實例化類的靜態方法。

然后按照正常的調用方法去調用即可:

 

Java代碼  收藏代碼public void instanceSpring(){                  //加載spring配置文件          ApplicationContext ac = new ClassPathXmlApplicationContext(                  new String[]{                          "/conf/applicationContext.xml"                  });          //調用getBean方法取得被實例化的對象。          PersonServiceBean psb = (PersonServiceBean) ac.getBean("personService1");                    psb.save();  }  

 

三、使用實例化工廠方法實例化。

這個方法和上面的方法不同之處在與使用該實例化方式工廠方法不需要是靜態的,但是在spring的配置文件中需要配置更多的內容,,首先創建工廠類及工廠方法:

 

Java代碼  收藏代碼package cn.mytest.service.impl;    /** *創建工廠類 * */  public class PersonServiceFactory {      //創建靜態方法      public PersonServiceBean createPersonServiceBean1(){           //返回實例化的類的對象          return new PersonServiceBean();      }  }   

  然后再去配置spring配置文件,配置的方法和上面有點不同,這里也是關鍵所在

 

Xml代碼  收藏代碼<!--applicationContext.xml配置:-->    <bean id="personServiceFactory" class="cn.mytest.service.impl.PersonServiceFactory"></bean>    <bean id="personService2" factory-bean="personServiceFactory" factory-method="createPersonServiceBean1"></bean>  

 這里需要配置兩個bean,第一個bean使用的構造器方法實例化工廠類,第二個bean中的id是實例化對象的名稱,factory-bean對應的被實例化的工廠類的對象名稱,也就是第一個bean的id,factory-method是非靜態工廠方法。

 

 

然后按照正常的調用方法去調用即可:

 

Java代碼  收藏代碼public void instanceSpring(){                  //加載spring配置文件          ApplicationContext ac = new ClassPathXmlApplicationContext(                  new String[]{                          "/conf/applicationContext.xml"                  });          //調用getBean方法取得被實例化的對象。          PersonServiceBean psb = (PersonServiceBean) ac.getBean("personService2");                    psb.save();  }  

 


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 彭泽县| 辽源市| 嵊州市| 阿巴嘎旗| 调兵山市| 湘阴县| 来凤县| 兴海县| 崇左市| 舟曲县| 景洪市| 沁水县| 乌苏市| 饶平县| 乌鲁木齐县| 福建省| 金乡县| 肥乡县| 岳阳市| 鄂州市| 龙陵县| 平远县| 余姚市| 雷波县| 益阳市| 肥乡县| 高陵县| 禹城市| 清水县| 南澳县| 丁青县| 龙江县| 大关县| 溆浦县| 屏山县| 刚察县| 交城县| 连平县| 清水河县| 田阳县| 陕西省|