public class DefaultBeanDefinitionDocumentReader extends ObjectSE implements BeanDefinitionDocumentReader
BeanDefinitionDocumentReader
インターフェースのデフォルトの実装。 必要な XML ドキュメントの構造、要素、属性名は、このクラスにハードコードされています。(もちろん、このフォーマットを生成するために必要な場合は、変換を実行できます)。<beans>
は XML ドキュメントのルート要素である必要はありません。このクラスは、実際のルート要素に関係なく、XML ファイル内のすべての Bean 定義要素を解析します。
修飾子と型 | フィールドと説明 |
---|---|
static StringSE | ALIAS_ATTRIBUTE |
static StringSE | ALIAS_ELEMENT |
static StringSE | BEAN_ELEMENT |
static StringSE | IMPORT_ELEMENT |
protected Log | logger |
static StringSE | NAME_ATTRIBUTE |
static StringSE | NESTED_BEANS_ELEMENT |
static StringSE | PROFILE_ATTRIBUTE |
static StringSE | RESOURCE_ATTRIBUTE |
コンストラクターと説明 |
---|
DefaultBeanDefinitionDocumentReader() |
修飾子と型 | メソッドと説明 |
---|---|
protected BeanDefinitionParserDelegate | createDelegate(XmlReaderContext readerContext, ElementSE root, BeanDefinitionParserDelegate parentDelegate) |
protected void | doRegisterBeanDefinitions(ElementSE root) 指定されたルート <beans/> 要素内に各 Bean 定義を登録します。 |
protected ObjectSE | extractSource(ElementSE ele) SourceExtractor を呼び出して、提供された Element SE からソースメタデータをプルします。 |
protected XmlReaderContext | getReaderContext() このパーサーが機能する XML リソースの記述子を返します。 |
protected void | importBeanDefinitionResource(ElementSE ele) "import" 要素を解析し、指定されたリソースから Bean ファクトリに Bean 定義をロードします。 |
protected void | parseBeanDefinitions(ElementSE root, BeanDefinitionParserDelegate delegate) ドキュメントのルートレベルで要素を解析します: 「インポート」、「エイリアス」、"Bean"。 |
protected void | postProcessXml(ElementSE root) Bean 定義の処理が完了した後、カスタム要素型を最後に処理することにより、XML を拡張可能にします。 |
protected void | preProcessXml(ElementSE root) Bean 定義の処理を開始する前に、まずカスタム要素型を処理して、XML を拡張できるようにします。 |
protected void | processAliasRegistration(ElementSE ele) 指定されたエイリアス要素を処理し、エイリアスをレジストリに登録します。 |
protected void | processBeanDefinition(ElementSE ele, BeanDefinitionParserDelegate delegate) 指定された Bean エレメントを処理し、Bean 定義を解析して、レジストリに登録します。 |
void | registerBeanDefinitions(DocumentSE doc, XmlReaderContext readerContext) この実装は、"spring-beans" XSD(または歴史的には DTD)に従って Bean 定義を解析します。 |
cloneSE, equalsSE, finalizeSE, getClassSE, hashCodeSE, notifySE, notifyAllSE, toStringSE, waitSE, waitSE, waitSE
protected final Log logger
public void registerBeanDefinitions(DocumentSE doc, XmlReaderContext readerContext)
DOM ドキュメントを開きます。次に、<beans/>
レベルで指定されたデフォルト設定を初期化します。次に、含まれている Bean 定義を解析します。
BeanDefinitionDocumentReader
の registerBeanDefinitions
doc
- DOM ドキュメント readerContext
- リーダーの現在の状況 (ターゲットレジストリと解析中のリソースを含みます)protected final XmlReaderContext getReaderContext()
@Nullable protected ObjectSE extractSource(ElementSE ele)
SourceExtractor
を呼び出して、提供された Element
SE からソースメタデータをプルします。protected void doRegisterBeanDefinitions(ElementSE root)
<beans/>
要素内に各 Bean 定義を登録します。protected BeanDefinitionParserDelegate createDelegate(XmlReaderContext readerContext, ElementSE root, @Nullable BeanDefinitionParserDelegate parentDelegate)
protected void parseBeanDefinitions(ElementSE root, BeanDefinitionParserDelegate delegate)
root
- ドキュメントの DOM ルート要素 protected void importBeanDefinitionResource(ElementSE ele)
protected void processAliasRegistration(ElementSE ele)
protected void processBeanDefinition(ElementSE ele, BeanDefinitionParserDelegate delegate)
protected void preProcessXml(ElementSE root)
デフォルトの実装は空です。サブクラスは、このメソッドをオーバーライドして、カスタム要素を標準の Spring Bean 定義に変換できます。実装者は、対応するアクセサーを介して、パーサーの Bean 定義リーダーと基盤となる XML リソースにアクセスできます。
getReaderContext()
protected void postProcessXml(ElementSE root)
デフォルトの実装は空です。サブクラスは、このメソッドをオーバーライドして、カスタム要素を標準の Spring Bean 定義に変換できます。実装者は、対応するアクセサーを介して、パーサーの Bean 定義リーダーと基盤となる XML リソースにアクセスできます。
getReaderContext()