クラス 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.beans.factory.aot.BeanRegistrationAotProcessor から継承されたフィールド
IGNORE_REGISTRATION_ATTRIBUTE
インターフェース org.springframework.core.Ordered から継承されたフィールド
HIGHEST_PRECEDENCE, LOWEST_PRECEDENCE
コンストラクターのサマリー
コンストラクター方法の概要
修飾子と型メソッド説明void
構成クラス BeanDefinitions を検索して BeanFactory を後処理します。その後、ConfigurationClassEnhancer
によって候補が強化されます。int
getOrder()
このオブジェクトの順序値を取得します。void
レジストリの構成クラスからさらに Bean 定義を取得します。void
postProcessBeanFactory
(ConfigurableListableBeanFactory beanFactory) 実行時に Bean リクエストを処理するための構成クラスを準備するには、CGLIB 拡張サブクラスに置き換えます。processAheadOfTime
(ConfigurableListableBeanFactory beanFactory) 指定されたConfigurableListableBeanFactory
インスタンスを事前に処理し、コントリビューションまたはnull
を返します。processAheadOfTime
(RegisteredBean registeredBean) 指定されたRegisteredBean
インスタンスを事前に処理し、コントリビューションまたはnull
を返します。void
Configuration
クラスのレジストリに基づいて構成モデルを構築および検証します。void
setApplicationStartup
(ApplicationStartup applicationStartup) このオブジェクトが実行される ApplicationStartup を設定します。void
setBeanClassLoader
(ClassLoaderSE beanClassLoader) Beanclass 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
を設定します。クラス 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 は通常、専用の
AnnotationConfig*
アプリケーションコンテキストや<context:annotation-config>
要素を使用しないなど、ポストプロセッサーを XML でスタンドアロンの Bean 定義として構成する場合にのみ適切です。アプリケーションコンテキストに対して指定された 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
インターフェースからコピーされた説明:BeanClassLoaderAware
Beanclass loader
SE を Bean インスタンスに提供するコールバック。通常の Bean プロパティの設定後、ただし
InitializingBean's
InitializingBean.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