日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > javascript >内容正文

javascript

Spring的三种Bean的实例化方法

發布時間:2023/12/29 javascript 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Spring的三种Bean的实例化方法 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
(本文內容有網上+自己修改,如有錯誤,請指正,謝謝。)


在spring中實例化bean的方式:

一、使用構造器實例化;

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

<Xml代碼>
<!--applicationContext.xml配置:-->

<bean id="personService" class="cn.mytest.service.impl.PersonServiceBean"></bean>

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

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

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


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


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

<Java代碼>
package ....;

/**
*創建一個工廠類 PersonServiceFactory
*
*/
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 inSpring(){
//加載spring配置文件
ApplicationContext ac = new ClassPathXmlApplicationContext(new String[]{ "/conf/applicationContext.xml"});
//調用getBean方法取得被實例化的對象。
PersonServiceBean psb = (PersonServiceBean) ac.getBean("personService1");
psb.save();
}


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

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

<Java代碼>
package ...;

/**
*創建工廠類 PersonServiceFactory
*
*/
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();
}


感謝 glzaction

總結

以上是生活随笔為你收集整理的Spring的三种Bean的实例化方法的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。