spring 筆記
bean:
在網上看到有的文章說name可以重複,但是我在srping 4.0.4.release測試中,bean標籤的name屬性也是不能重複。不建議重複
id和name屬性的比較
id與name,作用基本相同,但不推薦使用特殊字元。
空參構造方式。
解決方法:延遲載入
lazy-initi="true"就是建立容器時候不載入建立的bean物件,在獲取的時候才建立
**scope屬性,**一般情況下只採用singleton,特殊情況下才會改為prototype
singleton:建立乙個物件
singleton:表示整個ioc容器共享乙個bean,也就是說每次說每次通過getbean獲取的bean都是同乙個。
prototype:建立新的物件
prototype:每次對該bean請求(將其注入到另乙個bean中,或者以程式的方式呼叫容器的getbean()方法)時都會建立乙個新的bean例項。
request:每次http請求將會生成各自的bean例項
如果scope屬性為request,那麼這個物件被建立出來,他的宣告週期會與request一致。
session:每次會話請求對應乙個bean例項
session:同理,生命週期與session一致
singleton和prototype經常使用,request和session基本不使用。
init-method和destory-method屬性
init-method屬性是bean的初始方法,在建立好bean後呼叫該方法。
destory-method屬性是bean的銷毀方法,在銷毀bean之前呼叫該方法,一般在該方法中釋放資源
b)屬性注入
set方法注入:
建構函式注入****
3:複雜型別注入:array,list,set,map,properties
spring中的屬性scope
之前在開發過程中遇到了乙個問題,當request發起下乙個請求的時候,action中的屬性值並沒有清除,而是繼續採用上次使用過的引數值進行查詢並響應,導致資料查詢不真實或失敗。對此,有同事告訴我說,需要在spring配置檔案的bean中新增屬性scope prototype。結果還真的有用。下面是我...
Spring 中的屬性賦值
如果使用配置檔案的話,可以直接使用value屬性指定值。context property placeholder location classpath person.properties class top.wsuo.pojo.person id person name name value 李四 ...
Spring中bean中scope屬性的意義
scope prototype 預設情況下,從 bean工廠所取得的例項為singleton bean的singleton屬性 singleton spring容器只存在乙個共享的bean例項,預設的配置。prototype 每次對bean的請求都會建立乙個新的bean例項。二者選擇的原則 有狀態的...