SpringIOC建立bean物件的三種方式

2022-09-19 15:09:09 字數 2180 閱讀 6768

通常有3種方式,第一種用於我們自定義的類,後面兩種是為了應用第三方jar包中的類,根據jar中的建立物件的方式進行選擇

建立bean的型別

<

bean

scope

="prototype"

id="accountservice4"

class

="com.village.service.impl.accountserviceimpl"

>

bean

>

測試類
public

static

void

main(string args)

}

第一種:通過預設建構函式建立

此種方式通常用於我們自己寫的類,在spring中配置。

<

bean

id="accountservice"

class

="com.village.service.impl.accountserviceimpl"

>

bean

>

第二種:通過工廠物件的方法來建立(靜態)

class屬性: 指定的是工廠的全限定類名

factory-method屬性:指定的是工廠中用於建立物件的靜態方法

<

bean

id="accountservice2"

class

="com.village.factory.staticfactory"

factory-method

="createbean"

>

bean

>

此種方法通常用於不是我們自己寫的類,而是存在於jar包中已經寫好的類。(它都是.class檔案),比如mybatis中的sqlsessionfactory建立對像,不允許直接new物件

第三種:通過工廠物件的方法來建立(非靜態)

factory-bean屬性:指定的是工廠bean的id.

factory-method屬性:指定的是工廠中用於建立物件的非靜態方法

<

bean

id="instancefactory"

class

="com.village.factory.instancefactory"

>

bean

>

<

bean

id="accountservice3"

factory-bean

="instancefactory"

factory-method

="createbean"

>

bean

>

此種方式通常用於不是我們自己寫的類。

完整測試類

package

com.village.web;

import

com.itheima.service.accountservice;

import

import

public

class

createbeanclient

private

static

void

demo3()

private

static

void

demo2()

private

static

void

demo1()

}

package

com.village.factory;

import

com.itheima.service.impl.accountserviceimpl;

public

class

staticfactory

}

package

com.village.factory;

import

com.itheima.service.impl.accountserviceimpl;

public

class

instancefactory

}

spring IOC建立Bean流程

org.springframework.beans.factory.support.abstractautowirecapablebeanfactory docreatebean 1.物件例項化,內部還有一些出來構造器選擇,構造器引數解析的處理,處理完後會進行快取到beandefination中 2...

spring ioc容器中建立bean的方法

1.set方法注入 會呼叫car的set方法,怎樣確定對應哪個屬性,則由set方法後的名字決定 如 setbrand 就對應上述bean物件的brand屬性。2.構造器方式注入 會呼叫car類的構造器來定義bean物件屬性,要注意要定義空的構造器 如 後定義的構造器,獲取的時候先獲取 有除構造方法以...

SpringIOC核心容器bean

spring ioc是為了將類解耦 建立乙個類 public class helloworld public helloworld public void hello 通過xml檔案配置bean物件 xmlns xmlns xsi xsi schemalocation spring beans.xs...