Scope的作用域

2021-09-10 03:44:40 字數 1103 閱讀 9662

scope描述的是sring容器如何新建bean的例項。spring的scope有以下幾種,通過@scope註解來實現:

(1)@scope("singleton"):乙個spring容器中只有乙個bean的例項,為spring的預設配置,全容器共享乙個例項。這個單一例項會被儲存到單例快取中,並且所有針對該bean的後續請求和引用都將返回被快取的物件例項。singleton最用於和gof設計模式中的單例是完全不同的,單例模式表示classloader中只有乙個class存在,而這裡的singleton則表示乙個容器對應乙個bean。

(2)@scope("prototype"):每次呼叫都新建乙個bean的例項。

(3)@scope("request"):web專案中,給每乙個http request新建乙個bean例項。

(4)@scope("session"):web專案中,給每乙個http session新建乙個session例項。

(5)@scope("globalsession"):這個只有在portal應用中有用,給每乙個global http session新建乙個bean例項。

在spring batch中還有乙個scope是使用@stepscope

eg:編寫singleton的bean

編寫prototype的bean

編寫配置類

執行類 

執行結果:

作用域和作用域鏈 scope

作用域 函式建立時,生成的乙個js內部隱式屬性 函式儲存作用域鏈的容器。ao 函式執行期上下文 go 全域性執行期上下文。函式執行完成後,ao是要銷毀的。在次執行fun時會重新生成ao functiona var a 1 b var c 3a 執行說明 當a函式在定義時 模組一 系統生成了 scop...

名字的作用域 scope

c 程式中,每個名字都與唯一的實體 比如變數 函式和型別等 相關聯。儘管有這樣的要求,還是可以在程式中多次使用同乙個名字,只要它用在不同的上下文中,且通過這些上下文可以區分該名字的不同意義。用來區分名字的不同意義的上下文稱為作用域 scope 作用域是程式的一段區域。乙個名稱可以和不同作用域中的不同...

Spring bean的作用域Scope

1.bean的常用配置項 理論上只有class是必須的 id 唯一標識 class 具體是哪乙個類 scope 範圍 constructor arguments 構造器的引數 properties 屬性 autowiring mode 自動裝配模式 lazy initialization mode ...