IOC中Bean標籤和物件 Spring(1)

2021-10-06 05:58:28 字數 1676 閱讀 1743

1 bean 標籤

作用:

用於配置物件讓 spring 來建立的。

預設情況下它呼叫的是類中的無參建構函式。如果沒有無參建構函式則不能建立成功。

屬性:

id:給物件在容器中提供乙個唯一標識。用於獲取物件。

class:指定類的全限定類名。用於反射建立物件。預設情況下呼叫無參建構函式。

scope:指定物件的作用範圍。

2 bean 的作用範圍和生命週期

單例物件:scope=「singleton」

生命週期:

多例物件:scope=「prototype」

生命週期:

3. 例項化bean的三種方式

第一種方式:使用預設無參建構函式

<

!--第一種方式: 使用預設建構函式構建

在spring的配置檔案中使用bean標籤,配以id和class屬性之後,且沒有其他屬性和標籤

採用的就是預設建構函式建立bean物件,此時如果類中沒有預設建構函式,則物件無法建立--

>

"accountservice"

class

="com.gao.service.impl.accountserviceimpl"

>

<

/bean>

第二種方式:spring 管理例項工廠-使用例項工廠的方法建立物件

<

!--

此種方式是:

先把工廠的建立交給 spring 來管理。

然後在使用工廠的 bean 來呼叫裡面的方法

factory-bean 屬性:用於指定例項工廠 bean 的 id。

factory-method 屬性:用於指定例項工廠中建立物件的方法。

-->

"instancefactory"

class

="com.gao.factory.instancefactory"

>

<

/bean>

"accountservice" factory-bean=

"instancefactory" factory-method=

"getaccountservice"

>

<

/bean>

/** * 模擬乙個工廠類,建立業務層實現類

* 此工廠建立物件,必須現有工廠例項物件,在呼叫方法

*/public

class

instancefactory

}

第三種方式:使用靜態工廠的方法建立物件

<

!--使用示例工廠的方法建立物件(使用某個類中的靜態方法建立物件,並存入spring容器)

-->

"accountservice"

class

="com.gao.factory.staticfactory" factory-method=

"getaccountservice"

>

<

/bean>

/** * 模擬乙個工廠類

*/public

class

staticfactory

}

IOC中Bean標籤和管理物件細節

作用 prototype 多例的.request web 專案中,spring 建立乙個 bean 的物件,將物件存入到 request 域中.session web 專案中,spring 建立乙個 bean 的物件,將物件存入到 session 域中.global session web 專案中,...

Ioc中Bean的作用域

在spring中,可以在 bean 元素的scope屬性裡設定bean的作用域,以決定這個bean是單例項的還是多例項的。預設情況下,spring值為每個在ioc容器裡宣告的bean建立唯一乙個例項,整個ioc容器範圍內都能共享該例項 所有後續的getbean 呼叫和bean引用都將返回這個唯一的b...

Spring中bean標籤的屬性和值

spring中bean標籤的屬性和值 bean name user class com.pojo.user init method intmethod destroy method destorymethod lazy init false scope singleton property name...