public class ConfigurationClassPostProcessor extends ObjectSE implements BeanDefinitionRegistryPostProcessor, PriorityOrdered, ResourceLoaderAware, 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 | setBeanClassLoader(ClassLoaderSE beanClassLoader) Bean class loader SE を 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, waitSE
public 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_PRECEDENCE
public 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)
EnvironmentAware
Environment
を設定します。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)
BeanClassLoaderAware
class loader
SE を Bean インスタンスに提供するコールバック。 通常の Bean プロパティの設定後、ただし InitializingBean's
InitializingBean.afterPropertiesSet()
メソッドやカスタム init-method などの初期化コールバックの前に呼び出されます。
BeanClassLoaderAware
の setBeanClassLoader
beanClassLoader
- 所有クラスローダー 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