Spring框架參考手冊 Part II 3 7

2022-09-23 08:24:11 字數 1038 閱讀 7730

bean定義中可以包含許多配置資訊,包括構造函式引數,屬性值和容器的特定資訊例如初始化方法,靜態工廠方法名等等。子定義繼承父定義的配置資訊。子定義可以覆蓋一些值,或按需要新增一些其它值。使用父子bean定義可以儲存許多態別。實際上,這是一種模板形式。

如果你以程式設計方式使用applicationcontext介面,那麼子bean定義是通過childbeandefinition定義來表示的。大多數使用者不在這個層級上使用它們,而是在一些像classpathxmlapplicationcontext中宣告式的配置bean定義。當你使用基於xml的配置元資料時,你可以使用parent特性來指明乙個子bean定義。在特性值中指定父bean。

如果子bean定義中沒有指定要使用的bean類,則使用父定義中的bean類,但也可以覆蓋它。在後一種情況下(沒有指定要用的bean類),子bean定義必須與父bean協作,也就是說,它必須接收父定義的屬性值。

子bean定義可以繼承作用域,建構函式引數值,屬性值,可以重寫父方法,可以選擇新增新值。你指定的任何作用域,初始化方法,析構方法,和/或靜態工廠方法設定將會覆蓋對應的父設定。

其餘的設定都是從子定義中獲取:依賴關係,自動裝配模式,依賴檢查,單例,延遲初始化。

前面的例子使用抽象特性將父bean定義顯式的標記為abstract。如果父定義沒有指定乙個類,需要顯式的將父bean定義為abstract,形式如下:

父bean不能例項化,因為它不完整,並且它被顯式的標記為abstract。當乙個bean定義是abstract時,它只能是乙個純粹的bean定義模板,作為乙個為子定義服務的父定義。當試圖使用乙個abstract父bean時,可以通過另乙個bean的ref屬性來引用它或通過父bean的id為參數顯式的呼叫getbean()方法,會返回乙個錯誤。類似的,容器內部的preinstantiatesingletons()方法會忽略抽象bean定義。

預設情況下applicationcontext會預例項化所有的單例。因此,如果你想有乙個(父)bean定義只作為模板來使用,這個定義中指定了乙個類,那你必須確保設定abstract特性為true,否則應用上下文會(試圖)預例項化這個abstract bean。

Spring參考手冊 序言

序言 開發軟體應用本身是一件相當困難的事情,即使你採用的是很好的工具和技術。而採用那些承諾 可以實現所有事情 的框架 但實際結果是 框架本身太 重量級 難於控制且在開發周期內效率低 spring 提供乙個實現企業應用的輕量級解決方案,支援事務管理 支援基於 rmi或者 web service 的業務...

cass參考手冊 CASS9 2參考手冊

釋放雙眼,帶上耳機,聽聽看 前 言 cass9.2參考手冊關於cass9.2 cass地形地藉成圖軟體是基於autocad平台技術的gis前端資料處理系統。廣泛應用於地形成圖 地藉成圖 工程測量應用 空間資料建庫 市政監管等領域,全面面向gis,徹底打通數碼化成圖系統與gis介面,使用骨架線實時編輯...

語言參考手冊

有人都說 比較難,我看不怎麼難 可能就是 語言接觸到的底層太多了,所以感到有點難了,但這也不是什麼壞處,正是體現了 語言的優越之處 我們的許可權更大,寫出的程式在效能上更好!由於這個原因,再加上自己也想有個總結性的 參考手冊,原本打算自己根據 標準 c89 c99 整理一下 語言的,可誰知竟然發現這...