クラス ConfigurationClassPostProcessor

java.lang.ObjectSE
org.springframework.context.annotation.ConfigurationClassPostProcessor
実装されたすべてのインターフェース:
BeanFactoryInitializationAotProcessorBeanRegistrationAotProcessorAwareBeanClassLoaderAwareBeanFactoryPostProcessorBeanDefinitionRegistryPostProcessorApplicationStartupAwareEnvironmentAwareResourceLoaderAwareOrderedPriorityOrdered

@Configuration クラスのブートストラップ処理に使用される BeanFactoryPostProcessor

<context:annotation-config/> または <context:component-scan/> を使用する場合、デフォルトで登録されます。それ以外の場合は、他の BeanFactoryPostProcessor と同様に手動で宣言できます。

@Configuration クラスで宣言された @Bean メソッドには、他の BeanFactoryPostProcessor が実行される前に、対応する Bean 定義が登録されていることが重要であるため、このポストプロセッサーは優先順位が付けられています。

導入:
3.0
作成者:
Chris Beams, Juergen Hoeller, Phillip Webb, Sam Brannen
  • フィールドの詳細

  • コンストラクターの詳細

    • ConfigurationClassPostProcessor

      public ConfigurationClassPostProcessor()
  • メソッドの詳細

    • getOrder

      public int getOrder()
      インターフェースからコピーされた説明: Ordered
      このオブジェクトの順序値を取得します。

      値が高いほど、優先度は低くなります。結果として、最も低い値を持つオブジェクトが最高の優先度を持ちます(サーブレット load-on-startup の値に多少似ています)。

      同じ順序の値は、影響を受けるオブジェクトの任意のソート位置になります。

      次で指定:
      インターフェース OrderedgetOrder 
      戻り値:
      オーダー額
      関連事項:
    • setSourceExtractor

      public void setSourceExtractor(@Nullable SourceExtractor sourceExtractor)
      Bean ファクトリメソッドに対応する生成された Bean 定義に使用する SourceExtractor を設定します。
    • setProblemReporter

      public void setProblemReporter(@Nullable ProblemReporter problemReporter)
      使用する ProblemReporter を設定します。

      Configuration または Bean 宣言で検出された問題を登録するために使用されます。たとえば、final としてマークされた @Bean メソッドは不正であり、問題として報告されます。デフォルトは FailFastProblemReporter です。

    • setMetadataReaderFactory

      public void setMetadataReaderFactory(MetadataReaderFactory metadataReaderFactory)
      使用する MetadataReaderFactory を設定します。

      デフォルトは、指定された Bean クラスローダーの CachingMetadataReaderFactory です。

    • setBeanNameGenerator

      public void setBeanNameGenerator(BeanNameGenerator beanNameGenerator)
      Configuration クラスからコンポーネントスキャンをトリガーするとき、および Import の構成クラスを登録するときに使用する BeanNameGenerator を設定します。デフォルトは、スキャンされたコンポーネントの標準 AnnotationBeanNameGeneratorClassPathBeanDefinitionScanner のデフォルトと互換性があります)およびインポートされた構成クラスのそのバリアントです(標準コンポーネントのオーバーライドの代わりに一意の完全修飾クラス名を使用)。

      この戦略は Bean メソッドに適用されないことに注意してください。

      通常、この setter は、XML のスタンドアロン Bean 定義としてポストプロセッサーを構成する場合にのみ適切です。専用の AnnotationConfig* アプリケーションコンテキストまたは <context:annotation-config> 要素を使用しない。アプリケーションコンテキストに対して指定された Bean 名前ジェネレーターは、ここでのセットよりも優先されます。

      導入:
      3.1.1
      関連事項:
    • setEnvironment

      public void setEnvironment(Environment environment)
      インターフェースからコピーされた説明: EnvironmentAware
      このコンポーネントが実行される Environment を設定します。
      次で指定:
      インターフェース EnvironmentAwaresetEnvironment 
    • setResourceLoader

      public void setResourceLoader(ResourceLoader resourceLoader)
      インターフェースからコピーされた説明: ResourceLoaderAware
      このオブジェクトが実行される ResourceLoader を設定します。

      これは ResourcePatternResolver であり、instanceof ResourcePatternResolver で確認できます。ResourcePatternUtils.getResourcePatternResolver メソッドも参照してください。

      通常の Bean プロパティの設定後、InitializingBean の afterPropertiesSet またはカスタム init メソッドのような初期コールバックの前に呼び出されます。ApplicationContextAware の setApplicationContext の前に呼び出されます。

      次で指定:
      インターフェース ResourceLoaderAwaresetResourceLoader 
      パラメーター:
      resourceLoader - このオブジェクトによって使用される ResourceLoader オブジェクト
      関連事項:
    • setBeanClassLoader

      public void setBeanClassLoader(ClassLoaderSE beanClassLoader)
      インターフェースからコピーされた説明: BeanClassLoaderAware
      Bean class loaderSE を Bean インスタンスに提供するコールバック。

      通常の Bean プロパティの設定、ただし InitializingBean's InitializingBean.afterPropertiesSet() メソッドやカスタム init-method などの初期化コールバックの前に呼び出さます。

      次で指定:
      インターフェース BeanClassLoaderAwaresetBeanClassLoader 
      パラメーター:
      beanClassLoader - 所有クラスローダー
    • setApplicationStartup

      public void setApplicationStartup(ApplicationStartup applicationStartup)
      インターフェースからコピーされた説明: ApplicationStartupAware
      このオブジェクトが実行される ApplicationStartup を設定します。

      通常の Bean プロパティの設定後、InitializingBean の afterPropertiesSet などの init コールバックやカスタム init メソッドの前に呼び出されます。ApplicationContextAware の setApplicationContext の前に呼び出されます。

      次で指定:
      インターフェース ApplicationStartupAwaresetApplicationStartup 
      パラメーター:
      applicationStartup - このオブジェクトで使用されるアプリケーションの起動
    • postProcessBeanDefinitionRegistry

      public void postProcessBeanDefinitionRegistry(BeanDefinitionRegistry registry)
      レジストリの構成クラスからさらに Bean 定義を取得します。
      次で指定:
      インターフェース BeanDefinitionRegistryPostProcessorpostProcessBeanDefinitionRegistry 
      パラメーター:
      registry - アプリケーションコンテキストで使用される Bean 定義レジストリ
    • postProcessBeanFactory

      public void postProcessBeanFactory(ConfigurableListableBeanFactory beanFactory)
      実行時に Bean リクエストを処理するための構成クラスを準備するには、CGLIB 拡張サブクラスに置き換えます。
      次で指定:
      インターフェース BeanDefinitionRegistryPostProcessorpostProcessBeanFactory 
      次で指定:
      インターフェース BeanFactoryPostProcessorpostProcessBeanFactory 
      パラメーター:
      beanFactory - アプリケーションコンテキストで使用される Bean ファクトリ
    • processAheadOfTime

      @Nullable public BeanRegistrationAotContribution processAheadOfTime(RegisteredBean registeredBean)
      インターフェースからコピーされた説明: BeanRegistrationAotProcessor
      指定された RegisteredBean インスタンスを事前に処理し、コントリビューションまたは null を返します。

      プロセッサーは、任意の手法を自由に使用して、特定のインスタンスを分析できます。ほとんどの場合、リフレクションを使用して、コントリビューションで使用するフィールドまたはメソッドを見つけます。コントリビューションは通常、AOT 最適化アプリケーションの実行時に使用できるソースコードまたはリソースファイルを生成します。

      指定されたインスタンスがプロセッサーに関連していない場合は、null コントリビューションを返す必要があります。

      次で指定:
      インターフェース BeanRegistrationAotProcessorprocessAheadOfTime 
      パラメーター:
      registeredBean - 処理する登録済み Bean
      戻り値:
      BeanRegistrationAotContribution または null
    • processAheadOfTime

      インターフェースからコピーされた説明: BeanFactoryInitializationAotProcessor
      指定された ConfigurableListableBeanFactory インスタンスを事前に処理し、コントリビューションまたは null を返します。

      プロセッサーは、指定された Bean ファクトリを分析するために好きな手法を自由に使用できます。ほとんどの場合、リフレクションを使用して、コントリビューションで使用するフィールドまたはメソッドを見つけます。コントリビューションは通常、AOT 最適化アプリケーションの実行時に使用できるソースコードまたはリソースファイルを生成します。

      指定された Bean ファクトリにプロセッサーに関連するものが含まれていない場合、このメソッドは null コントリビューションを返す必要があります。

      次で指定:
      インターフェース BeanFactoryInitializationAotProcessorprocessAheadOfTime 
      パラメーター:
      beanFactory - 処理する Bean ファクトリ
      戻り値:
      BeanFactoryInitializationAotContribution または null
    • processConfigBeanDefinitions

      public void processConfigBeanDefinitions(BeanDefinitionRegistry registry)
      Configuration クラスのレジストリに基づいて構成モデルを構築および検証します。
    • enhanceConfigurationClasses

      public void enhanceConfigurationClasses(ConfigurableListableBeanFactory beanFactory)
      構成クラス BeanDefinitions を検索して BeanFactory を後処理します。その後、ConfigurationClassEnhancer によって候補が強化されます。候補ステータスは、BeanDefinition 属性メタデータによって決定されます。
      関連事項:
      • ConfigurationClassEnhancer