インターフェース ComponentDefinition

すべてのスーパーインターフェース:
BeanMetadataElement
すべての既知の実装クラス:
AbstractComponentDefinitionAdvisorComponentDefinitionAspectComponentDefinitionBeanComponentDefinitionCompositeComponentDefinitionPointcutComponentDefinition

public interface ComponentDefinition extends BeanMetadataElement
いくつかの構成コンテキストで提示される、BeanDefinitions および BeanReferences のセットの論理ビューを記述するインターフェース。

pluggable custom XML tags の導入により、単一の論理構成エンティティ(この場合は XML タグ)で複数の BeanDefinitions および RuntimeBeanReferences を作成して、より簡潔な構成とエンドユーザーの利便性を提供できるようになりました。そのため、各構成エンティティ(XML タグなど)が 1 つの BeanDefinition にマップされていると想定することはできません。Spring アプリケーションの構成の視覚化またはサポートを提供したいツールベンダーやその他のユーザーにとっては、エンドユーザーにとって具体的な意味を持つ方法で BeanFactoryBeanDefinitions を構成データに結び付けるための何らかのメカニズムがあることが重要です。そのため、NamespaceHandler 実装は、構成されている論理エンティティごとに ComponentDefinition の形式でイベントを発行できます。サードパーティは subscribe to these events を使用して、ユーザー中心の Bean メタデータを表示できます。

各 ComponentDefinition には、構成固有の source object があります。XML ベースの構成の場合、これは通常、ユーザー指定の構成情報を含む NodeSE です。これに加えて、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
関連事項:
  • メソッドの詳細

    • getName

      StringSE getName()
      この ComponentDefinition のユーザーに表示される名前を取得します。

      これは、特定のコンテキストでこのコンポーネントに対応する構成データに直接リンクする必要があります。

    • getDescription

      StringSE getDescription()
      説明されたコンポーネントのわかりやすい説明を返します。

      実装では、toString() から同じ値を返すことをお勧めします。

    • getBeanDefinitions

      BeanDefinition[] getBeanDefinitions()
      この ComponentDefinition を形成するために登録された BeanDefinitions を返します。

      ComponentDefinition は references を介して他の BeanDefinitions と関連している可能性がありますが、これらはすぐには利用できない可能性があるため含まれていません。重要な BeanReferencesgetBeanReferences() から入手できます。

      戻り値:
      BeanDefinitions の配列、ない場合は空の配列
    • getInnerBeanDefinitions

      BeanDefinition[] getInnerBeanDefinitions()
      このコンポーネント内の関連するすべてのインナー Bean を表す BeanDefinitions を返します。

      他のインナー Bean が関連する BeanDefinitions 内に存在する場合がありますが、これらは検証やユーザーの視覚化に必要であるとは見なされていません。

      戻り値:
      BeanDefinitions の配列、ない場合は空の配列
    • getBeanReferences

      BeanReference[] getBeanReferences()
      この ComponentDefinition にとって重要であると見なされる BeanReferences のセットを返します。

      他の BeanReferences が関連する BeanDefinitions 内に存在する場合がありますが、これらは検証やユーザーの視覚化に必要であるとは見なされていません。

      戻り値:
      BeanReferences の配列、ない場合は空の配列