Spring 原始碼分析(四) 自定義標籤的使用

2022-04-28 15:27:12 字數 1292 閱讀 2972

在之前的**分析中,spring標籤的解析分為 預設標籤和自定義標籤兩種,前一篇文章分析了spring中對預設標籤的解析過程。

一:回顧

public

class defaultbeandefinitiondocumentreader implements

beandefinitiondocumentreader

else}}

}else}}

在defaultbeandefinitiondocumentreader 類中,分別對預設標籤和自定義標籤做了不同的解析處理。

二:自定義標籤使用

很多情況下,我們需要為系統提供可配置化支援,簡單的做法可以直接基於spring的標準bean來配置,但配置較為複雜或者需要更多豐富控制的時候,會顯得非常笨拙。一般的做法會用原生態的方式取解析定義好的xml檔案,然後轉化為配置物件。這種方式當然可以解決所有問題,但實現起來比較繁瑣,特別是在配置非常複雜的時候,解析工作是乙個不得不考慮的負擔。spring提供了可擴充套件schema的支援,這是乙個不錯的折中方案,擴充套件spring自定義標籤配置大致需要以下幾個步驟(前提是要把spring的core包加入專案中)。

(1)建立乙個需要擴充套件的元件

(2)定義乙個xsd檔案描述元件內容

(3)建立乙個檔案,實現beandefinitionparser介面,用來解析xsd檔案中的定義和元件定義

(4)建立乙個handler檔案,擴充套件自namespacehandlersupport,目的是將元件註冊到spring容器。

(5)編寫spring.handlers和spring.schemas檔案,預設位置是在工程的/meta-inf/資料夾下,當然,你可以通過spring的擴充套件或者修改原始碼的方式改變路徑。

(6)建立測試配置檔案,在配置檔案中引入對應的命名空間以及xsd後,便可以直接使用自定義標籤了。

(7)測試

VUE(四) 自定義元件

自定義元件用於封裝一些可復用的頁面元件,類似於js模版 又或者模版引擎中的巨集。就像簡訊模版 郵件模版,整體的資訊先定義好,用的時候再把資料填充進去即可。所以,學習vue自定義元件包括 通過components進行元件定義,使用template設定 模版,vue分為全域性元件和部分元件,具體看以下案...

WPF自定義控制項(四) 自定義控制項

原文 wpf自定義控制項 四 自定義控制項 在實際工作中,wpf提供的控制項並不能完全滿足不同的設計需求。這時,需要我們設計自定義控制項。這裡lz總結一些自己的思路,特性如下 下面舉例說說在專案中我們經常用到調音台音量條,寫乙個自定義控制項模擬調音台音量條。自定義控制項singnallight,實現...

Spring 原始碼解析 自定義標籤

零.閱讀準備 讀這篇文章前先看下預備知識 spring 自定義標籤 一.閱讀 自定義標籤解析核心 public beandefinition parsecustomelement element ele,beandefinition containingbd return handler.parse...