インターフェース SmartInstantiationAwareBeanPostProcessor

すべてのスーパーインターフェース:
BeanPostProcessorInstantiationAwareBeanPostProcessor
すべての既知の実装クラス:
AbstractAdvisingBeanPostProcessorAbstractAdvisorAutoProxyCreatorAbstractAutoProxyCreatorAbstractBeanFactoryAwareAdvisingPostProcessorAnnotationAwareAspectJAutoProxyCreatorAspectJAwareAdvisorAutoProxyCreatorAsyncAnnotationBeanPostProcessorAutowiredAnnotationBeanPostProcessorBeanNameAutoProxyCreatorDefaultAdvisorAutoProxyCreatorInfrastructureAdvisorAutoProxyCreatorMethodValidationPostProcessorPersistenceExceptionTranslationPostProcessorScriptFactoryPostProcessor

public interface SmartInstantiationAwareBeanPostProcessor extends InstantiationAwareBeanPostProcessor
InstantiationAwareBeanPostProcessor インターフェースの拡張。処理された Bean の最終的な型を予測するためのコールバックを追加します。

注意 : このインターフェースは、主にフレームワーク内での内部使用のための特別な目的のインターフェースです。一般に、アプリケーション提供のポストプロセッサーは単純な BeanPostProcessor インターフェースを実装する必要があります。

導入:
2.0.3
作成者:
Juergen Hoeller
  • メソッドの詳細

    • predictBeanType

      @Nullable default ClassSE<?> predictBeanType(ClassSE<?> beanClass, StringSE beanName) throws BeansException
      最終的にこのプロセッサーの InstantiationAwareBeanPostProcessor.postProcessBeforeInstantiation(java.lang.Class<?>, java.lang.String) コールバックから返される Bean の型を予測します。

      デフォルトの実装は null を返します。特定の実装では、追加の処理手順を実行せずに、既知 / キャッシュされている限り、Bean 型を予測しようとする必要があります。

      パラメーター:
      beanClass - Bean の生のクラス
      beanName - Bean の名前
      戻り値:
      Bean の型、または予測できない場合は null 
      例外:
      BeansException - エラーの場合
    • determineBeanType

      default ClassSE<?> determineBeanType(ClassSE<?> beanClass, StringSE beanName) throws BeansException
      このプロセッサーの InstantiationAwareBeanPostProcessor.postProcessBeforeInstantiation(java.lang.Class<?>, java.lang.String) コールバックから最終的に返される Bean の型を決定します。

      デフォルトの実装は、指定された Bean クラスをそのまま返します。特定の実装では、事前に潜在的なプロキシクラスを作成 / 初期化するために、処理手順を完全に評価する必要があります。

      パラメーター:
      beanClass - Bean の生のクラス
      beanName - Bean の名前
      戻り値:
      Bean の型 (非 null)
      例外:
      BeansException - エラーの場合
      導入:
      6.0
    • determineCandidateConstructors

      @Nullable default ConstructorSE<?>[] determineCandidateConstructors(ClassSE<?> beanClass, StringSE beanName) throws BeansException
      指定された Bean に使用する候補コンストラクターを決定します。

      デフォルトの実装は null を返します。

      パラメーター:
      beanClass - Bean の生のクラス (非 null)
      beanName - Bean の名前
      戻り値:
      候補コンストラクター、または何も指定されていない場合は null 
      例外:
      BeansException - エラーの場合
    • getEarlyBeanReference

      default ObjectSE getEarlyBeanReference(ObjectSE bean, StringSE beanName) throws BeansException
      通常、循環参照を解決するために、指定された Bean に早期にアクセスするための参照を取得します。

      このコールバックは、ポストプロセッサーにラッパーを早期に公開する機会を与えます。つまり、ターゲット Bean インスタンスが完全に初期化される前。公開されたオブジェクトは、BeanPostProcessor.postProcessBeforeInitialization(java.lang.Object, java.lang.String)/BeanPostProcessor.postProcessAfterInitialization(java.lang.Object, java.lang.String) が他に公開するものと同等である必要があります。このメソッドによって返されるオブジェクトは、ポストプロセッサーが上記の後処理コールバックとは異なるラッパーを返さない限り、Bean 参照として使用されることに注意してください。言い換えると、これらのポストプロセスコールバックは、最終的に同じ参照を公開するか、代わりに後続のコールバックから未加工の Bean インスタンスを返す可能性があります(影響を受ける Bean のラッパーがこのメソッドの呼び出し用にすでに構築されている場合は、公開されます。デフォルトで最終的な Bean 参照として)。

      デフォルトの実装は、指定された bean をそのまま返します。

      パラメーター:
      bean - 生の Bean インスタンス
      beanName - Bean の名前
      戻り値:
      Bean 参照として公開するオブジェクト (通常、渡された Bean インスタンスをデフォルトとして使用)
      例外:
      BeansException - エラーの場合