クラス LazyInitTargetSourceCreator

java.lang.ObjectSE
org.springframework.aop.framework.autoproxy.target.AbstractBeanFactoryBasedTargetSourceCreator
org.springframework.aop.framework.autoproxy.target.LazyInitTargetSourceCreator
実装されているすべてのインターフェース:
TargetSourceCreator, Aware, BeanFactoryAware, DisposableBean

public class LazyInitTargetSourceCreator extends AbstractBeanFactoryBasedTargetSourceCreator
"lazy-init" として定義されている各 Bean に LazyInitTargetSource を適用する TargetSourceCreator。これにより、これらの Bean ごとにプロキシが作成され、ターゲット Bean インスタンスを実際に初期化せずにそのような Bean への参照をフェッチできるようになります。

特定の Bean のカスタムインターセプターと組み合わせて、または lazy-init プロキシのみを作成するために、自動プロキシ作成者のカスタム TargetSourceCreator として登録します。例: XML アプリケーションコンテキスト定義で自動検出されたインフラストラクチャ Bean として:

<bean class="org.springframework.aop.framework.autoproxy.BeanNameAutoProxyCreator">
  <property name="beanNames" value="*" /> <!-- apply to all beans -->
  <property name="customTargetSourceCreators">
    <list>
      <bean class="org.springframework.aop.framework.autoproxy.target.LazyInitTargetSourceCreator" />
    </list>
  </property>
</bean>

<bean id="myLazyInitBean" class="mypackage.MyBeanClass" lazy-init="true">
  <!-- ... -->
</bean>
導入:
1.2
作成者:
Juergen Hoeller, Sam Brannen
関連事項:
  • コンストラクターの詳細

    • LazyInitTargetSourceCreator

      public LazyInitTargetSourceCreator()
  • メソッドの詳細

    • isPrototypeBased

      protected boolean isPrototypeBased()
      クラスからコピーされた説明: AbstractBeanFactoryBasedTargetSourceCreator
      この TargetSourceCreator がプロトタイプベースかどうかを返します。ターゲット Bean 定義のスコープは、それに応じて設定されます。

      デフォルトは「true」。

      オーバーライド:
      クラス AbstractBeanFactoryBasedTargetSourceCreatorisPrototypeBased 
      関連事項:
    • createBeanFactoryBasedTargetSource

      protected @Nullable AbstractBeanFactoryBasedTargetSource createBeanFactoryBasedTargetSource(ClassSE<?> beanClass, StringSE beanName)
      クラスからコピーされた説明: AbstractBeanFactoryBasedTargetSourceCreator
      サブクラスは、この Bean 用のカスタム TargetSource を作成したい場合は、新しい AbstractPrototypeBasedTargetSource を返すために、このメソッドを実装する必要があり、それに関わりがない場合は null を返すためにこのメソッドを実装しなければならず、その場合は特別なターゲットソースは作成されません。サブクラスは、AbstractPrototypeBasedTargetSource 上で setTargetBeanName や setBeanFactory を呼び出すべきではありません。このクラスの getTargetSource() の実装がそれを行います。
      次で指定:
      クラス AbstractBeanFactoryBasedTargetSourceCreatorcreateBeanFactoryBasedTargetSource 
      パラメーター:
      beanClass - TargetSource を作成する Bean のクラス
      beanName - Bean の名前
      戻り値:
      AbstractPrototypeBasedTargetSource、またはこれと一致しない場合は null