クラス ConfigurationClassPostProcessor
- 実装されているすべてのインターフェース:
BeanFactoryInitializationAotProcessor、BeanRegistrationAotProcessor、Aware、BeanClassLoaderAware、BeanFactoryPostProcessor、BeanDefinitionRegistryPostProcessor、ApplicationStartupAware、EnvironmentAware、ResourceLoaderAware、Ordered、PriorityOrdered
@Configuration クラスのブートストラップ処理に使用される BeanFactoryPostProcessor。<context:annotation-config/> または <context:component-scan/> を使用する場合、デフォルトで登録されます。それ以外の場合は、他の BeanFactoryPostProcessor と同様に手動で宣言できます。
@Configuration クラスで宣言された @Bean メソッドには、他の BeanFactoryPostProcessor が実行される前に、対応する Bean 定義が登録されていることが重要であるため、このポストプロセッサーは優先順位が付けられています。
- 導入:
- 3.0
- 作成者:
- Chris Beams, Juergen Hoeller, Phillip Webb, Sam Brannen
フィールドのサマリー
フィールド修飾子と型フィールド説明static final AnnotationBeanNameGeneratorデフォルトの Bean 名として完全修飾クラス名を使用するBeanNameGenerator。インターフェース org.springframework.core.Ordered から継承されたフィールド
HIGHEST_PRECEDENCE, LOWEST_PRECEDENCEコンストラクターの概要
コンストラクターメソッドのサマリー
修飾子と型メソッド説明void構成クラス BeanDefinitions を検索して BeanFactory を後処理します。その後、ConfigurationClassEnhancerによって候補が強化されます。intgetOrder()このオブジェクトの順序値を取得します。voidレジストリの構成クラスからさらに Bean 定義を取得します。voidpostProcessBeanFactory(ConfigurableListableBeanFactory beanFactory) 実行時に Bean リクエストを処理するための構成クラスを準備するには、CGLIB 拡張サブクラスに置き換えます。processAheadOfTime(ConfigurableListableBeanFactory beanFactory) 指定されたConfigurableListableBeanFactoryインスタンスを事前に処理し、コントリビューションまたはnullを返します。processAheadOfTime(RegisteredBean registeredBean) 指定されたRegisteredBeanインスタンスを事前に処理し、コントリビューションまたはnullを返します。voidConfigurationクラスのレジストリに基づいて構成モデルを構築および検証します。voidsetApplicationStartup(ApplicationStartup applicationStartup) このオブジェクトが実行される ApplicationStartup を設定します。voidsetBeanClassLoader(ClassLoaderSE beanClassLoader) Beanclass loaderSE を Bean インスタンスに提供するコールバック。voidsetBeanNameGenerator(BeanNameGenerator beanNameGenerator) voidsetEnvironment(Environment environment) このコンポーネントが実行されるEnvironmentを設定します。voidsetMetadataReaderFactory(MetadataReaderFactory metadataReaderFactory) 使用するMetadataReaderFactoryを設定します。voidsetProblemReporter(ProblemReporter problemReporter) 使用するProblemReporterを設定します。voidsetResourceLoader(ResourceLoader resourceLoader) このオブジェクトが実行される ResourceLoader を設定します。voidsetSourceExtractor(SourceExtractor sourceExtractor) Beanファクトリメソッドに対応する生成された Bean 定義に使用するSourceExtractorを設定します。クラス java.lang.ObjectSE から継承されたメソッド
clone, equalsSE, finalize, getClass, hashCode, notify, notifyAll, toString, wait, waitSE, waitSEインターフェース org.springframework.beans.factory.aot.BeanRegistrationAotProcessor から継承されたメソッド
isBeanExcludedFromAotProcessing
フィールドの詳細
IMPORT_BEAN_NAME_GENERATOR
デフォルトの Bean 名として完全修飾クラス名を使用するBeanNameGenerator。構成レベルのインポートを目的としたこのデフォルトは、
setBeanNameGenerator(org.springframework.beans.factory.support.BeanNameGenerator)を介してオーバーライドできます。コンポーネントスキャン目的のデフォルトは、統一されたユーザーレベルの Bean 名前ジェネレーターでsetBeanNameGenerator(org.springframework.beans.factory.support.BeanNameGenerator)を介してオーバーライドされない限り、プレーンAnnotationBeanNameGenerator.INSTANCEであることに注意してください。
コンストラクターの詳細
ConfigurationClassPostProcessor
public ConfigurationClassPostProcessor()
メソッドの詳細
getOrder
public int getOrder()インターフェースからコピーされた説明:Orderedこのオブジェクトの順序値を取得します。値が高いほど、優先度は低くなります。結果として、最も低い値を持つオブジェクトが最高の優先度を持ちます(サーブレット
load-on-startupの値に多少似ています)。同じ順序の値は、影響を受けるオブジェクトの任意のソート位置になります。
setSourceExtractor
Beanファクトリメソッドに対応する生成された Bean 定義に使用するSourceExtractorを設定します。setProblemReporter
使用するProblemReporterを設定します。ConfigurationまたはBean宣言で検出された問題を登録するために使用されます。たとえば、finalとしてマークされた @Bean メソッドは不正であり、問題として報告されます。デフォルトはFailFastProblemReporterです。setMetadataReaderFactory
使用するMetadataReaderFactoryを設定します。デフォルトは、指定された Bean クラスローダーの
CachingMetadataReaderFactoryです。setBeanNameGenerator
Configurationクラスからコンポーネントスキャンをトリガーするとき、およびImportの構成クラスを登録するときに使用するBeanNameGeneratorを設定します。デフォルトは、スキャンされたコンポーネントの標準AnnotationBeanNameGenerator(ClassPathBeanDefinitionScannerのデフォルトと互換性があります)およびインポートされた構成クラスのそのバリアントです(標準コンポーネントのオーバーライドの代わりに一意の完全修飾クラス名を使用)。この戦略は
Beanメソッドには適用されないことに注意してください。通常、この setter は、XML のスタンドアロン Bean 定義としてポストプロセッサーを構成する場合にのみ適切です。専用の
AnnotationConfig*アプリケーションコンテキストまたは<context:annotation-config>要素を使用しない。アプリケーションコンテキストに対して指定された Bean 名前ジェネレーターは、ここでのセットよりも優先されます。setEnvironment
インターフェースからコピーされた説明:EnvironmentAwareこのコンポーネントが実行されるEnvironmentを設定します。- 次で指定:
- インターフェース
EnvironmentAwareのsetEnvironment
setResourceLoader
インターフェースからコピーされた説明:ResourceLoaderAwareこのオブジェクトが実行される ResourceLoader を設定します。これは ResourcePatternResolver であり、
instanceof ResourcePatternResolverで確認できます。ResourcePatternUtils.getResourcePatternResolverメソッドも参照してください。通常の Bean プロパティの設定後、InitializingBean の
afterPropertiesSetまたはカスタム init メソッドのような初期コールバックの前に呼び出されます。ApplicationContextAware のsetApplicationContextの前に呼び出されます。- 次で指定:
- インターフェース
ResourceLoaderAwareのsetResourceLoader - パラメーター:
resourceLoader- このオブジェクトによって使用される ResourceLoader オブジェクト- 関連事項:
setBeanClassLoader
インターフェースからコピーされた説明:BeanClassLoaderAwareBeanclass loaderSE を Bean インスタンスに提供するコールバック。通常の Bean プロパティの設定後、ただし
InitializingBean'sInitializingBean.afterPropertiesSet()メソッドやカスタム init-method などの初期化コールバックの前に呼び出されます。- 次で指定:
- インターフェース
BeanClassLoaderAwareのsetBeanClassLoader - パラメーター:
beanClassLoader- 所有クラスローダー
setApplicationStartup
インターフェースからコピーされた説明:ApplicationStartupAwareこのオブジェクトが実行される ApplicationStartup を設定します。通常の Bean プロパティの設定後、InitializingBean の afterPropertiesSet などの init コールバックやカスタム init メソッドの前に呼び出されます。ApplicationContextAware の setApplicationContext の前に呼び出されます。
- 次で指定:
- インターフェース
ApplicationStartupAwareのsetApplicationStartup - パラメーター:
applicationStartup- このオブジェクトで使用されるアプリケーションの起動
postProcessBeanDefinitionRegistry
レジストリの構成クラスからさらに Bean 定義を取得します。- 次で指定:
- インターフェース
BeanDefinitionRegistryPostProcessorのpostProcessBeanDefinitionRegistry - パラメーター:
registry- アプリケーションコンテキストで使用される Bean 定義レジストリ
postProcessBeanFactory
実行時に Bean リクエストを処理するための構成クラスを準備するには、CGLIB 拡張サブクラスに置き換えます。- 次で指定:
- インターフェース
BeanDefinitionRegistryPostProcessorのpostProcessBeanFactory - 次で指定:
- インターフェース
BeanFactoryPostProcessorのpostProcessBeanFactory - パラメーター:
beanFactory- アプリケーションコンテキストで使用される Bean ファクトリ
processAheadOfTime
インターフェースからコピーされた説明:BeanRegistrationAotProcessor指定されたRegisteredBeanインスタンスを事前に処理し、コントリビューションまたはnullを返します。プロセッサーは、任意の手法を自由に使用して、特定のインスタンスを分析できます。ほとんどの場合、リフレクションを使用して、コントリビューションで使用するフィールドまたはメソッドを見つけます。コントリビューションは通常、AOT 最適化アプリケーションの実行時に使用できるソースコードまたはリソースファイルを生成します。
指定されたインスタンスがプロセッサーに関連していない場合は、
nullコントリビューションを返す必要があります。- 次で指定:
- インターフェース
BeanRegistrationAotProcessorのprocessAheadOfTime - パラメーター:
registeredBean- 処理する登録済み Bean- 戻り値:
BeanRegistrationAotContributionまたはnull
processAheadOfTime
@Nullable public BeanFactoryInitializationAotContribution processAheadOfTime(ConfigurableListableBeanFactory beanFactory) インターフェースからコピーされた説明:BeanFactoryInitializationAotProcessor指定されたConfigurableListableBeanFactoryインスタンスを事前に処理し、コントリビューションまたはnullを返します。プロセッサーは、指定された Bean ファクトリを分析するために好きな手法を自由に使用できます。ほとんどの場合、リフレクションを使用して、コントリビューションで使用するフィールドまたはメソッドを見つけます。コントリビューションは通常、AOT 最適化アプリケーションの実行時に使用できるソースコードまたはリソースファイルを生成します。
指定された Bean ファクトリにプロセッサーに関連するものが含まれていない場合、このメソッドは
nullコントリビューションを返す必要があります。- 次で指定:
- インターフェース
BeanFactoryInitializationAotProcessorのprocessAheadOfTime - パラメーター:
beanFactory- 処理する Bean ファクトリ- 戻り値:
BeanFactoryInitializationAotContributionまたはnull
processConfigBeanDefinitions
Configurationクラスのレジストリに基づいて構成モデルを構築および検証します。enhanceConfigurationClasses
構成クラス BeanDefinitions を検索して BeanFactory を後処理します。その後、ConfigurationClassEnhancerによって候補が強化されます。候補ステータスは、BeanDefinition 属性メタデータによって決定されます。- 関連事項:
ConfigurationClassEnhancer