クラス SimpleConstructorNamespaceHandler
java.lang.ObjectSE
org.springframework.beans.factory.xml.SimpleConstructorNamespaceHandler
- 実装されたすべてのインターフェース:
NamespaceHandler
カスタム属性を Bean プロパティに直接マッピングする単純な
NamespaceHandler
実装。注意すべき重要な点は、この NamespaceHandler
には対応するスキーマがないため、すべての可能な属性名を事前に知る方法がないためです。 この NamespaceHandler
の使用例を以下に示します。
<bean id="author" class="..TestBean" c:name="Enescu" c:work-ref="compositions"/>ここで、'
c:name
' は、クラス 'TestBean
' のコンストラクターで宣言された 'name
' 引数に直接対応します。'c:work-ref
' 属性は 'work
' 引数に対応し、具体的な値ではなく、パラメーターと見なされる Bean の名前を含みます。 注 : この実装では、名前付きパラメーターのみがサポートされます。インデックスや型はサポートされていません。さらに、名前はコンテナーによってヒントとして使用され、コンテナーはデフォルトで型のイントロスペクションを行います。- 導入:
- 3.1
- 作成者:
- Costin Leau
- 関連事項:
コンストラクターのサマリー
コンストラクターメソッドのサマリー
修飾子と型メソッド説明decorate
(NodeSE node, BeanDefinitionHolder definition, ParserContext parserContext) 指定されたNode
SE を解析し、提供されたBeanDefinitionHolder
を装飾し、装飾された定義を返します。void
init()
構築後、カスタム要素が解析される前にDefaultBeanDefinitionDocumentReader
によって呼び出されます。parse
(ElementSE element, ParserContext parserContext) 指定されたElement
SE を解析し、結果のBeanDefinitions
を、提供されたParserContext
に埋め込まれているBeanDefinitionRegistry
に登録します。
コンストラクターの詳細
SimpleConstructorNamespaceHandler
public SimpleConstructorNamespaceHandler()
メソッドの詳細
init
public void init()インターフェースからコピーされた説明:NamespaceHandler
構築後、カスタム要素が解析される前にDefaultBeanDefinitionDocumentReader
によって呼び出されます。parse
インターフェースからコピーされた説明:NamespaceHandler
指定されたElement
SE を解析し、結果のBeanDefinitions
を、提供されたParserContext
に埋め込まれているBeanDefinitionRegistry
に登録します。実装は、(たとえば)
<property>
タグ内にネストして使用する場合、解析フェーズの結果であるプライマリBeanDefinition
を返す必要があります。ネストされたシナリオで使用されない場合、実装は
null
を返す場合があります。- 次で指定:
- インターフェース
NamespaceHandler
のparse
- パラメーター:
element
- 1 つ以上のBeanDefinitions
に解析される要素parserContext
- 解析プロセスの現在の状態をカプセル化するオブジェクト- 戻り値:
- プライマリ
BeanDefinition
(上で説明したようにnull
にすることができます)
decorate
public BeanDefinitionHolder decorate(NodeSE node, BeanDefinitionHolder definition, ParserContext parserContext) インターフェースからコピーされた説明:NamespaceHandler
指定されたNode
SE を解析し、提供されたBeanDefinitionHolder
を装飾し、装飾された定義を返します。Node
SE は、カスタム属性または要素が解析されているかどうかに応じて、Attr
SE またはElement
SE のいずれかになります。実装は、完全に新しい定義を返すことを選択できます。これにより、結果の
BeanFactory
の元の定義が置き換えられます。提供されている
ParserContext
を使用して、メイン定義をサポートするために必要な追加の Bean を登録できます。- 次で指定:
- インターフェース
NamespaceHandler
のdecorate
- パラメーター:
node
- 解析されるソース要素または属性definition
- 現在の Bean 定義parserContext
- 解析プロセスの現在の状態をカプセル化するオブジェクト- 戻り値:
- 装飾された定義(BeanFactory に登録される)、または装飾が必要ない場合は単に元の Bean 定義。
null
値は厳密には無効ですが、元の Bean 定義が返される場合と同様に寛大に扱われます。