インターフェース SmartFactoryBean<T>

型パラメーター:
T - Bean 型
すべてのスーパーインターフェース:
FactoryBean<T>

public interface SmartFactoryBean<T> extends FactoryBean<T>
FactoryBean インターフェースの拡張。false を返す FactoryBean.isSingleton() 実装が独立したインスタンスを明確に示さない場合のために、実装は常に独立したインスタンスを返すかどうかを示す場合があります。

この拡張インターフェースを実装しないプレーンな FactoryBean 実装は、FactoryBean.isSingleton() 実装が false を返す場合、常に独立したインスタンスを返すと単純に想定されています。公開されたオブジェクトは、オンデマンドでのみアクセスされます。

注意 : このインターフェースは、主にフレームワーク内およびコラボレーションフレームワーク内での内部使用のための特別な目的のインターフェースです。一般に、アプリケーションが提供する FactoryBeans は、単純な FactoryBean インターフェースを実装するだけです。ポイントリリースでも、この拡張インターフェースに新しいメソッドが追加される場合があります。

導入:
2.0.3
作成者:
Juergen Hoeller
関連事項:
  • フィールドサマリー

    インターフェース org.springframework.beans.factory.FactoryBean から継承されたフィールド

    OBJECT_TYPE_ATTRIBUTE
  • メソッドのサマリー

    修飾子と型
    メソッド
    説明
    default boolean
    この FactoryBean は先行初期化を期待していますか? つまり、それ自体を先行初期化すると同時に、そのシングルトンオブジェクト(存在する場合)の先行初期化を期待していますか?
    default boolean
    このファクトリによって管理されるオブジェクトはプロトタイプですか? つまり、FactoryBean.getObject() は常に独立したインスタンスを返しますか?

    インターフェース org.springframework.beans.factory.FactoryBean から継承されたメソッド

    getObject, getObjectType, isSingleton
  • メソッドの詳細

    • isPrototype

      default boolean isPrototype()
      このファクトリによって管理されるオブジェクトはプロトタイプですか? つまり、FactoryBean.getObject() は常に独立したインスタンスを返しますか?

      FactoryBean 自体のプロトタイプステータスは、通常、所有する BeanFactory によって提供されます。通常は、シングルトンとして定義する必要があります。

      このメソッドは、独立したインスタンスを厳密にチェックすることになっています。スコープオブジェクトまたは他の種類の非シングルトン、非独立オブジェクトの true を返しません。このため、これは単に FactoryBean.isSingleton() の反転形式ではありません。

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

      戻り値:
      公開されたオブジェクトがプロトタイプかどうか
      関連事項:
    • isEagerInit

      default boolean isEagerInit()
      この FactoryBean は先行初期化を期待していますか? つまり、それ自体を先行初期化すると同時に、そのシングルトンオブジェクト(存在する場合)の先行初期化を期待していますか?

      標準の FactoryBean は先行初期化されることは期待されていません。その FactoryBean.getObject() は、シングルトンオブジェクトの場合でも、実際のアクセスのためにのみ呼び出されます。このメソッドから true を返すことは、FactoryBean.getObject() を積極的に呼び出し、ポストプロセッサーを積極的に適用する必要があることを提案しています。これは、singleton オブジェクトの場合、特に起動時にポストプロセッサーが適用されることを期待している場合に意味があります。

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

      戻り値:
      先行初期化が適用されるかどうか
      関連事項: