spring中建立的物件的作用域

2022-09-11 13:00:25 字數 778 閱讀 4579

1.spring中建立物件的三種方式

使用無引數構造器建立

使用靜態工廠方法建立

使用例項化物件工廠方法建立

2.作用域

作用域有singleton和prototype,預設為前者,設定延遲載入只對singleton有效。

當scope為singleton時

可以看出作用域為singleton時,物件只建立了一次,並且兩者相等,雖然使用getbean方法兩次,但是卻只有乙個物件,似乎物件不是getbean方法獲得,這跟後面要說的延遲載入有關。

當scope為prototype時

當作用域為prototype時,建立了兩個物件,並且兩者不相等,說明使用乙個getbean方法,就建立了乙個新的物件。

延遲載入:預設情況下容器啟動之後,會將作用域為singleton的bean建立好,設定延遲載入容器啟動之後,對作用域為singleton的bean不再建立,直到呼叫getbean方法才會建立,設定延遲載入需在配置檔案中設定lazy-init屬性。

(1)scope="singleton",lazy-init="false":啟動容器就建立物件,並且只有乙個

(2)scope="singleton",lazy-init="true":啟動容器不會建立物件,直到呼叫getbean方法才會建立物件,並且只有乙個

(3)scope="prototype",無論是否設定延遲載入,均只有在呼叫getbean方法才會建立物件,並且是建立多個不同的物件

spring中建立Bean物件的方式

此種方式是 兩個標籤分別是id 根據這個唯一標識,能夠找到此bean class 所對應的類的全名稱 public class staticfactory 此種方式是 使用 staticfactory 類中的靜態方法 createaccountservice 建立物件,並存入 spring 容器 i...

spring 建立物件的異常

恢復內容開始 今天使用spring框架建立物件,遇到如下異常 servlet.service for servlet jsp in context with path threw exception org.springframework.beans.factory.nosuchbeandefini...

Spring 研究spring建立物件的方式

一共三種方式 1 呼叫預設建構函式。2 利用靜態工廠方法建立。3 利用例項工廠方法建立 呼叫預設建構函式建立物件 在 cn.google.spring.createobject.method public class helloworld public void hello public class...