インターフェース ComponentDefinition
- すべてのスーパーインターフェース:
BeanMetadataElement
- すべての既知の実装クラス:
AbstractComponentDefinition
、AdvisorComponentDefinition
、AspectComponentDefinition
、BeanComponentDefinition
、CompositeComponentDefinition
、PointcutComponentDefinition
BeanDefinitions
および BeanReferences
のセットの論理ビューを記述するインターフェース。pluggable custom XML tags
の導入により、単一の論理構成エンティティ (この場合は XML タグ) で複数の BeanDefinitions
および RuntimeBeanReferences
を作成できるようになり、エンドユーザーに、より簡潔な構成と大きな利便性を提供できるようになりました。そのため、各構成エンティティ (たとえば、XML タグ) が 1 つの BeanDefinition
にマップされるとは想定できなくなりました。Spring アプリケーションの構成を視覚化またはサポートしたいツールベンダーやその他のユーザーにとって、エンドユーザーにとって具体的な意味を持つ方法で、BeanFactory
の BeanDefinitions
を構成データに結び付けるメカニズムが存在していることが重要です。そのため、NamespaceHandler
実装では、構成されている各論理エンティティの ComponentDefinition
の形式でイベントを公開できます。その後、サードパーティが subscribe to these events
を実行して、Bean メタデータのユーザー中心のビューを作成できます。
各 ComponentDefinition
には、構成固有の source object
があります。XML ベースの構成の場合、これは通常、ユーザー指定の構成情報を含む Node
SE です。これに加えて、ComponentDefinition
に含まれる各 BeanDefinition
には独自の source object
があり、異なるより具体的な構成データのセットを指す場合があります。これを超えると、PropertyValues
などの Bean メタデータの個々の部分にも、さらに詳細なレベルを提供するソースオブジェクトが含まれる場合があります。ソースオブジェクトの抽出は、必要に応じてカスタマイズできる SourceExtractor
を介して処理されます。
重要な BeanReferences
への直接アクセスは getBeanReferences()
を介して提供されますが、ツールはすべての BeanDefinitions
をインスペクションして、BeanReferences
のフルセットを収集したい場合があります。実装は、論理エンティティ全体の構成を検証するために必要なすべての BeanReferences
と、構成の完全なユーザー視覚化を提供するために必要なものを提供する必要があります。特定の BeanReferences
は、検証または構成のユーザービューにとって重要ではないことが予想されるため、これらは省略できます。ツールは、付属の BeanDefinitions
から供給された追加の BeanReferences
を表示したい場合がありますが、これは一般的なケースとは見なされません。
ツールは、role identifier
をチェックすることにより、含まれている BeanDefinitions
の重要性を判別できます。このロールは基本的に、構成プロバイダーが BeanDefinition
がエンドユーザーにとってどれほど重要であると信じているかについてのツールへのヒントです。ツールは、ロールに基づいてフィルタリングする代わりに、特定の ComponentDefinition
のすべての BeanDefinitions
を表示しないことが予想されます。ツールは、このフィルタリングユーザーを構成可能にすることを選択できます。INFRASTRUCTURE role identifier
には特に注意が必要です。このロールで分類された BeanDefinitions
は、エンドユーザーにとってまったく重要ではなく、内部実装上の理由でのみ必要です。
- 導入:
- 2.0
- 作成者:
- Rob Harrop, Juergen Hoeller
- 関連事項:
メソッドのサマリー
修飾子と型メソッド説明このComponentDefinition
を形成するために登録されたBeanDefinitions
を返します。このComponentDefinition
にとって重要であると見なされるBeanReferences
のセットを返します。説明されたコンポーネントのわかりやすい説明を返します。このコンポーネント内の関連するすべてのインナー Bean を表すBeanDefinitions
を返します。getName()
このComponentDefinition
のユーザーに表示される名前を取得します。インターフェース org.springframework.beans.BeanMetadataElement から継承されたメソッド
getSource
メソッドの詳細
getName
StringSE getName()このComponentDefinition
のユーザーに表示される名前を取得します。これは、特定のコンテキストでこのコンポーネントに対応する構成データに直接リンクする必要があります。
getDescription
StringSE getDescription()説明されたコンポーネントのわかりやすい説明を返します。実装では、
toString()
から同じ値を返すことをお勧めします。getBeanDefinitions
BeanDefinition[] getBeanDefinitions()このComponentDefinition
を形成するために登録されたBeanDefinitions
を返します。ComponentDefinition
はreferences
を介して他のBeanDefinitions
と関連している可能性がありますが、これらはすぐには利用できない可能性があるため含まれていません。重要なBeanReferences
はgetBeanReferences()
から入手できます。- 戻り値:
- BeanDefinitions の配列、ない場合は空の配列
getInnerBeanDefinitions
BeanDefinition[] getInnerBeanDefinitions()このコンポーネント内の関連するすべてのインナー Bean を表すBeanDefinitions
を返します。他のインナー Bean が関連する
BeanDefinitions
内に存在する場合がありますが、これらは検証やユーザーの視覚化に必要であるとは見なされていません。- 戻り値:
- BeanDefinitions の配列、ない場合は空の配列
getBeanReferences
BeanReference[] getBeanReferences()このComponentDefinition
にとって重要であると見なされるBeanReferences
のセットを返します。他の
BeanReferences
が関連するBeanDefinitions
内に存在する場合がありますが、これらは検証やユーザーの視覚化に必要であるとは見なされていません。- 戻り値:
- BeanReferences の配列、ない場合は空の配列