三種例項化bean的方式

2021-08-24 17:23:11 字數 2706 閱讀 5808

三種例項化bean的方式:

在spring中有三種例項化bean的方式:

1、使用類構造器例項化;(預設無引數,一般使用這種方式)

2、使用靜態工廠方法例項化(簡單工廠模式);

3、使用例項化工廠例項化(工廠方法模式)。

每種例項化方法的xml配置是不同的。

首先,建立乙個bean類,bean類有乙個say方法。

package com.mybean.bean;

/** * @classname: bean

* @description todo

* @author:

* @created: 2018/8/16 8:56

* @version: 1.0

*/public class bean

}

一.使用類構造器例項化(預設無引數)

這種例項化方法是開發過程使用的最多,因為在xml檔案中配置簡單並且也不需要額外的工廠類來實現。

xml**       

id是物件的名稱,class是要例項化的類,然後再通過通過getbean方法獲取bean例項化物件 ,例如:

package com.mybean.bean;

import org.junit.test;

/** * @classname: testbean

* @description todo

* @author: [email protected]

* @created: 2018/8/16 8:57

* @version: 1.0

*/public class testbean

}

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

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

使用這種方式進行例項化需要具備兩個條件:(一)、要有工廠類及其工廠方法;(二)、工廠方法是靜態的。

首先,建立工廠類及靜態方法

package com.mybean.bean;

/** * @classname: beanstaticfactory

* @description 定義乙個工廠類

* @author:

* @created: 2018/8/16 9:10

* @version: 1.0

*/public class beanstaticfactory

}

然後再配置spring配置檔案,配置方法與上面有點不同,這也是關鍵所在 

xml**:

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

然後按照正常的呼叫方法去呼叫即可:

package com.mybean.bean;

import org.junit.test;

/** * @classname: testbean

* @description todo

* @author:

* @created: 2018/8/16 8:57

* @version: 1.0

*/public class testbean

}

三、 使用例項化工廠方法例項化

這個方法與靜態工廠方法的不同之處在於此方法中例項化方法不需要設定為靜態(工廠類中的例項化方法沒有static關鍵字),但是此方法需要再spring配置檔案中配置更多的內容。

首先,建立工廠類及工廠方法

package com.mybean.bean;

/** * @classname: beanfactory

* @description 定義乙個工廠類及工廠方法

* @author:

* @created: 2018/8/16 9:31

* @version: 1.0

*/public class beanfactory

}

然後配置spring配置檔案

注意:這裡需要配置兩個bean。第乙個bean使用的類構造器例項化乙個工廠類,第二個bean中的id是例項化物件的名稱,factory-bean對應的被例項化的工廠類的物件名稱,也就是第乙個bean的id,factory-method是非靜態工廠方法。

使用此方法例項化物件時,需要先使用類構造器例項化乙個工廠類。

然後按照正常的呼叫方法去呼叫即可:

package com.mybean.bean;

import org.junit.test;

/** * @classname: testbean

* @description todo

* @author:

* @created: 2018/8/16 8:57

* @version: 1.0

*/public class testbean

}

例項化Bean的三種方式

例項化bean的方式有三種,分別為 接下來分別對它們進行舉例說明。1.使用set方法例項化 userservice class com.ahua.service.userserviceimpl name name value zhangsan bean new beans.xml new實現類 iu...

Spring 三種例項化Bean的方式

spring4共提供了三種例項化bean的方式,分別為構造器例項化 靜態工廠例項化 動態方法例項化,下面一一詳解 文章出自這裡!公用使用的實體 package com.gditc.test.domain 測試實體 author jiangi public class person public pe...

Spring三種例項化Bean的方式

最基本的 public class somebean 簡單工廠方法 public class somebean factory 注意static。抽象工廠方法 public class somebeanfactory 注意不是static方法。這3種例項化bean的方式都是 somebean bea...