public class ConfigurationClassPostProcessor extends ObjectSE implements BeanDefinitionRegistryPostProcessor, PriorityOrdered, ResourceLoaderAware, ApplicationStartupAware, BeanClassLoaderAware, EnvironmentAware
@Configuration クラスのブートストラップ処理に使用される BeanFactoryPostProcessor。<context:annotation-config/> または <context:component-scan/> を使用する場合、デフォルトで登録されます。それ以外の場合は、他の BeanFactoryPostProcessor と同様に手動で宣言できます。
@Configuration クラスで宣言された @Bean メソッドには、他の BeanFactoryPostProcessor が実行される前に、対応する Bean 定義が登録されていることが重要であるため、このポストプロセッサーは優先順位が付けられています。
| 修飾子と型 | フィールドと説明 |
|---|---|
static AnnotationBeanNameGenerator | IMPORT_BEAN_NAME_GENERATOR デフォルトの Bean 名として完全修飾クラス名を使用する BeanNameGenerator。 |
HIGHEST_PRECEDENCE, LOWEST_PRECEDENCE| コンストラクターと説明 |
|---|
ConfigurationClassPostProcessor() |
| 修飾子と型 | メソッドと説明 |
|---|---|
void | enhanceConfigurationClasses(ConfigurableListableBeanFactory beanFactory) 構成クラス BeanDefinitions を検索して BeanFactory を後処理します。その後、 ConfigurationClassEnhancer によって候補が強化されます。 |
int | getOrder() このオブジェクトの順序値を取得します。 |
void | postProcessBeanDefinitionRegistry(BeanDefinitionRegistry registry) レジストリの構成クラスからさらに Bean 定義を取得します。 |
void | postProcessBeanFactory(ConfigurableListableBeanFactory beanFactory) 実行時に Bean リクエストを処理するための構成クラスを準備するには、CGLIB 拡張サブクラスに置き換えます。 |
void | processConfigBeanDefinitions(BeanDefinitionRegistry registry)Configuration クラスのレジストリに基づいて構成モデルを構築および検証します。 |
void | setApplicationStartup(ApplicationStartup applicationStartup) このオブジェクトが実行される ApplicationStartup を設定します。 |
void | setBeanClassLoader(ClassLoaderSE beanClassLoader)Bean class loaderSE を Bean インスタンスに提供するコールバック。 |
void | setBeanNameGenerator(BeanNameGenerator beanNameGenerator) |
void | setEnvironment(Environment environment) このコンポーネントが実行される Environment を設定します。 |
void | setMetadataReaderFactory(MetadataReaderFactory metadataReaderFactory) 使用する MetadataReaderFactory を設定します。 |
void | setProblemReporter(ProblemReporter problemReporter) 使用する ProblemReporter を設定します。 |
void | setResourceLoader(ResourceLoader resourceLoader) このオブジェクトが実行される ResourceLoader を設定します。 |
void | setSourceExtractor(SourceExtractor sourceExtractor)Bean ファクトリメソッドに対応する生成された Bean 定義に使用する SourceExtractor を設定します。 |
cloneSE, equalsSE, finalizeSE, getClassSE, hashCodeSE, notifySE, notifyAllSE, toStringSE, waitSE, waitSE, waitSEpublic static final AnnotationBeanNameGenerator IMPORT_BEAN_NAME_GENERATOR
BeanNameGenerator。 構成レベルのインポートを目的としたこのデフォルトは、setBeanNameGenerator(org.springframework.beans.factory.support.BeanNameGenerator) を介してオーバーライドできます。コンポーネントスキャン目的のデフォルトは、統一されたユーザーレベルの Bean 名前ジェネレーターで setBeanNameGenerator(org.springframework.beans.factory.support.BeanNameGenerator) を介してオーバーライドされない限り、プレーン AnnotationBeanNameGenerator.INSTANCE であることに注意してください。
public int getOrder()
Ordered 値が高いほど、優先度は低くなります。結果として、最も低い値を持つオブジェクトが最高の優先度を持ちます(サーブレット load-on-startup の値に多少似ています)。
同じ順序の値は、影響を受けるオブジェクトの任意のソート位置になります。
Ordered の getOrder Ordered.HIGHEST_PRECEDENCE, Ordered.LOWEST_PRECEDENCEpublic void setSourceExtractor(@Nullable SourceExtractor sourceExtractor)
Bean ファクトリメソッドに対応する生成された Bean 定義に使用する SourceExtractor を設定します。public void setProblemReporter(@Nullable ProblemReporter problemReporter)
ProblemReporter を設定します。Configuration または Bean 宣言で検出された問題を登録するために使用されます。たとえば、final としてマークされた @Bean メソッドは不正であり、問題として報告されます。デフォルトは FailFastProblemReporter です。
public void setMetadataReaderFactory(MetadataReaderFactory metadataReaderFactory)
MetadataReaderFactory を設定します。 デフォルトは、指定された Bean クラスローダーの CachingMetadataReaderFactory です。
public void setBeanNameGenerator(BeanNameGenerator beanNameGenerator)
Configuration クラスからコンポーネントスキャンをトリガーするとき、および Import の構成クラスを登録するときに使用する BeanNameGenerator を設定します。デフォルトは、スキャンされたコンポーネントの標準 AnnotationBeanNameGenerator(ClassPathBeanDefinitionScanner のデフォルトと互換性があります)およびインポートされた構成クラスのそのバリアントです(標準コンポーネントのオーバーライドの代わりに一意の完全修飾クラス名を使用)。 この戦略は Bean メソッドには適用されないことに注意してください。
通常、この setter は、XML のスタンドアロン Bean 定義としてポストプロセッサーを構成する場合にのみ適切です。専用の AnnotationConfig* アプリケーションコンテキストまたは <context:annotation-config> 要素を使用しない。アプリケーションコンテキストに対して指定された Bean 名前ジェネレーターは、ここでのセットよりも優先されます。
public void setEnvironment(Environment environment)
EnvironmentAwareEnvironment を設定します。EnvironmentAware の setEnvironment public void setResourceLoader(ResourceLoader resourceLoader)
ResourceLoaderAware これは ResourcePatternResolver であり、instanceof ResourcePatternResolver で確認できます。ResourcePatternUtils.getResourcePatternResolver メソッドも参照してください。
通常の Bean プロパティの設定後、InitializingBean の afterPropertiesSet またはカスタム init メソッドのような初期コールバックの前に呼び出されます。ApplicationContextAware の setApplicationContext の前に呼び出されます。
ResourceLoaderAware の setResourceLoader resourceLoader - このオブジェクトによって使用される ResourceLoader オブジェクト ResourcePatternResolver, ResourcePatternUtils.getResourcePatternResolver(org.springframework.core.io.ResourceLoader)public void setBeanClassLoader(ClassLoaderSE beanClassLoader)
BeanClassLoaderAwareclass loaderSE を Bean インスタンスに提供するコールバック。 通常の Bean プロパティの設定後、ただし InitializingBean's InitializingBean.afterPropertiesSet() メソッドやカスタム init-method などの初期化コールバックの前に呼び出されます。
BeanClassLoaderAware の setBeanClassLoader beanClassLoader - 所有クラスローダー public void setApplicationStartup(ApplicationStartup applicationStartup)
ApplicationStartupAware通常の Bean プロパティの設定後、InitializingBean の afterPropertiesSet などの init コールバックやカスタム init メソッドの前に呼び出されます。ApplicationContextAware の setApplicationContext の前に呼び出されます。
ApplicationStartupAware の setApplicationStartup applicationStartup - このオブジェクトで使用されるアプリケーションの起動 public void postProcessBeanDefinitionRegistry(BeanDefinitionRegistry registry)
BeanDefinitionRegistryPostProcessor の postProcessBeanDefinitionRegistry registry - アプリケーションコンテキストで使用される Bean 定義レジストリ public void postProcessBeanFactory(ConfigurableListableBeanFactory beanFactory)
BeanFactoryPostProcessor の postProcessBeanFactory beanFactory - アプリケーションコンテキストで使用される Bean ファクトリ public void processConfigBeanDefinitions(BeanDefinitionRegistry registry)
Configuration クラスのレジストリに基づいて構成モデルを構築および検証します。public void enhanceConfigurationClasses(ConfigurableListableBeanFactory beanFactory)
ConfigurationClassEnhancer によって候補が強化されます。候補ステータスは、BeanDefinition 属性メタデータによって決定されます。ConfigurationClassEnhancer