Spring Scope的簡單原理

2021-10-21 05:57:38 字數 2415 閱讀 9802

行為singleton

每次呼叫beanfactory.getbean返回相同例項

prototype

每次呼叫beanfactory.getbean返回不同例項

spring不會做任何**,如果我們在某個單例物件中注入了乙個prototype例項,在整個單例的生命週期,它是不會變化的,除非我們通過beanfactory.getbean呼叫重新獲取乙個例項,才能保證每次進入新的scope使用的都是新的例項

行為singleton

每次呼叫beanfactory.getbean返回相同例項

prototype

每次呼叫beanfactory.getbean返回相同例項

假設我們定義了乙個bean:

@bean

@scope

(value = configurablebeanfactory.scope_prototype, proxymode = scopedproxymode.inte***ce)

public testclassscopeproxymode testclassscopeproxymode()

1、名稱為testclassscopeproxymode,型別為scopedproxyfactorybean的單例bean

2、名稱為scopedtarget.testclassscopeproxymode,型別為testclassscopeproxymode的bean(原始的bean定義)

在每次通過beanfactory.getbean獲取testclassscopeproxymode名稱的bean時,都會通過scopedproxyfactorybean返回乙個固定的jdk**例項,當在該**物件中呼叫某個介面的方法時,jdkdynamicaopproxy會攔截呼叫,先通過beanfactory.getbean獲取scopedtarget.testclassscopeproxymode名稱的bean(即原始定義的bean),然後在該物件上進行實際的方法呼叫

根據jdk**的特性,該模式只對介面方法生效!!

scope

行為singleton

每次呼叫beanfactory.getbean返回相同例項

prototype

每次呼叫beanfactory.getbean返回相同例項

假設我們定義了乙個bean:

@bean

@scope

(value = configurablebeanfactory.scope_prototype, proxymode = scopedproxymode.inte***ce)

public testclassscopeproxymode testclassscopeproxymode()

1、名稱為testclassscopeproxymode,型別為scopedproxyfactorybean的單例bean

2、名稱為scopedtarget.testclassscopeproxymode,型別為testclassscopeproxymode的bean(原始的bean定義)

在每次通過beanfactory.getbean獲取testclassscopeproxymode名稱的bean時,都會通過scopedproxyfactorybean返回乙個固定的cglib**例項,當在該**物件中呼叫類方法時,dynamicadvisedinterceptor會攔截呼叫,先通過beanfactory.getbean獲取scopedtarget.testclassscopeproxymode名稱的bean(即原始定義的bean),然後在該物件上進行實際的方法呼叫

原 Cache的簡單用法

早就聽說asp.net裡有個cache,但一直沒有用過,平時都是用session,cookies,把自己學習小結一下 key,value,key的依賴項,過期時間 三秒後 無間隔 cache.insert username kennytian null datetime.now.addseconds...

簡單易懂講解happens before原則

在接下來的敘述裡我首先會說明happens before規則是幹什麼用的,然後用乙個簡單的小程式說明happens before規則 一 happens before規則 我們編寫的程式都要經過優化後 編譯器和處理器會對我們的程式進行優化以提高執行效率 才會被執行,優化分為很多種,其中有一種優化叫做...

原 粒子群演算法 PSO 的簡單應用

目錄 1.3 流程圖 2.簡單的pso例子 python 實現 參考資料 之前寫到優化的基本思想,裡面提到了智慧型演算法。目前有些學者對這些演算法並不認可,但是實際使用中,在維度比較低的情況下,群智慧型演算法確實能以很高的找到近似解。這篇以我最熟悉的pso開始,以demo的方式來 群智慧型演算法的使...