クラス DefaultBeanDefinitionDocumentReader
java.lang.ObjectSE
org.springframework.beans.factory.xml.DefaultBeanDefinitionDocumentReader
- 実装されているすべてのインターフェース:
BeanDefinitionDocumentReader
public class DefaultBeanDefinitionDocumentReader
extends ObjectSE
implements BeanDefinitionDocumentReader
"spring-beans" DTD および XSD 形式(Spring のデフォルトの XML Bean 定義形式)に従って Bean 定義を読み取る
BeanDefinitionDocumentReader インターフェースのデフォルトの実装。 必要な XML ドキュメントの構造、要素、属性名は、このクラスにハードコードされています。(もちろん、このフォーマットを生成するために必要な場合は、変換を実行できます)。<beans> は XML ドキュメントのルート要素である必要はありません。このクラスは、実際のルート要素に関係なく、XML ファイル内のすべての Bean 定義要素を解析します。
- 導入:
- 18.12.2003
- 作成者:
- Rod Johnson, Juergen Hoeller, Rob Harrop, Erik Wiersma
フィールドのサマリー
フィールドコンストラクターの概要
コンストラクターメソッドのサマリー
修飾子と型メソッド説明protected BeanDefinitionParserDelegatecreateDelegate(XmlReaderContext readerContext, ElementSE root, BeanDefinitionParserDelegate parentDelegate) protected void指定されたルート<beans/>要素内に各 Bean 定義を登録します。protected ObjectSEextractSource(ElementSE ele) SourceExtractorを呼び出して、提供されたElementSE からソースメタデータをプルします。protected final XmlReaderContextこのパーサーが機能する XML リソースの記述子を返します。protected void"import" 要素を解析し、指定されたリソースから Bean ファクトリに Bean 定義をロードします。protected voidparseBeanDefinitions(ElementSE root, BeanDefinitionParserDelegate delegate) ドキュメントのルートレベルで要素を解析します: 「インポート」、「エイリアス」、"Bean"。protected voidpostProcessXml(ElementSE root) Bean 定義の処理が完了した後、カスタム要素型を最後に処理することにより、XML を拡張可能にします。protected voidpreProcessXml(ElementSE root) Bean 定義の処理を開始する前に、まずカスタム要素型を処理して、XML を拡張できるようにします。protected void指定されたエイリアス要素を処理し、エイリアスをレジストリに登録します。protected voidprocessBeanDefinition(ElementSE ele, BeanDefinitionParserDelegate delegate) 指定された Bean エレメントを処理し、Bean 定義を解析して、レジストリに登録します。voidregisterBeanDefinitions(DocumentSE doc, XmlReaderContext readerContext) この実装は、"spring-beans" XSD(または歴史的には DTD)に従って Bean 定義を解析します。
フィールドの詳細
コンストラクターの詳細
DefaultBeanDefinitionDocumentReader
public DefaultBeanDefinitionDocumentReader()
メソッドの詳細
registerBeanDefinitions
この実装は、"spring-beans" XSD(または歴史的には DTD)に従って Bean 定義を解析します。DOM ドキュメントを開きます。次に、
<beans/>レベルで指定されたデフォルト設定を初期化します。次に、含まれている Bean 定義を解析します。- 次で指定:
- インターフェース
BeanDefinitionDocumentReaderのregisterBeanDefinitions - パラメーター:
doc- DOM ドキュメントreaderContext- リーダーの現在の状況 (ターゲットレジストリと解析中のリソースを含みます)
getReaderContext
このパーサーが機能する XML リソースの記述子を返します。extractSource
SourceExtractorを呼び出して、提供されたElementSE からソースメタデータをプルします。doRegisterBeanDefinitions
指定されたルート<beans/>要素内に各 Bean 定義を登録します。createDelegate
protected BeanDefinitionParserDelegate createDelegate(XmlReaderContext readerContext, ElementSE root, @Nullable BeanDefinitionParserDelegate parentDelegate) parseBeanDefinitions
ドキュメントのルートレベルで要素を解析します: 「インポート」、「エイリアス」、"Bean"。- パラメーター:
root- ドキュメントの DOM ルート要素
importBeanDefinitionResource
"import" 要素を解析し、指定されたリソースから Bean ファクトリに Bean 定義をロードします。processAliasRegistration
指定されたエイリアス要素を処理し、エイリアスをレジストリに登録します。processBeanDefinition
指定された Bean エレメントを処理し、Bean 定義を解析して、レジストリに登録します。preProcessXml
Bean 定義の処理を開始する前に、カスタム要素型を最初に処理することにより、XML を拡張可能にします。このメソッドは、XML の他のカスタム前処理の自然な拡張ポイントです。デフォルトの実装は空です。サブクラスは、このメソッドをオーバーライドして、カスタム要素を標準の Spring Bean 定義に変換できます。実装者は、対応するアクセサーを介して、パーサーの Bean 定義リーダーと基盤となる XML リソースにアクセスできます。
- 関連事項:
postProcessXml
Bean 定義の処理が終了した後、カスタム要素型を最後に処理することにより、XML を拡張可能にします。このメソッドは、XML の他のカスタム後処理の自然な拡張ポイントです。デフォルトの実装は空です。サブクラスは、このメソッドをオーバーライドして、カスタム要素を標準の Spring Bean 定義に変換できます。実装者は、対応するアクセサーを介して、パーサーの Bean 定義リーダーと基盤となる XML リソースにアクセスできます。
- 関連事項: