クラス LazyInitTargetSourceCreator

java.lang.ObjectSE
org.springframework.aop.framework.autoproxy.target.AbstractBeanFactoryBasedTargetSourceCreator
org.springframework.aop.framework.autoproxy.target.LazyInitTargetSourceCreator
実装されたすべてのインターフェース:
TargetSourceCreatorAwareBeanFactoryAwareDisposableBean

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

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