クラス MethodInvokingBean

実装されたすべてのインターフェース:
AwareBeanClassLoaderAwareBeanFactoryAwareInitializingBean
既知の直属サブクラス
MethodInvokingFactoryBean

public class MethodInvokingBean extends ArgumentConvertingMethodInvoker implements BeanClassLoaderAware, BeanFactoryAware, InitializingBean
単純なメソッド呼び出し Bean: (MethodInvokingFactoryBean とは対照的に)結果がコンテナーに公開されることを期待せずに、ターゲットメソッドを呼び出すだけです。

この呼び出し元は、あらゆる種類のターゲットメソッドをサポートします。静的メソッドを指定するには、targetMethod プロパティを静的メソッド名を表す文字列に設定します。targetClass は、静的メソッドが定義されているクラスを指定します。または、targetObject プロパティをターゲットオブジェクトとして設定し、targetMethod プロパティをそのターゲットオブジェクトで呼び出すメソッドの名前として設定することにより、ターゲットインスタンスメソッドを指定できます。メソッド呼び出しの引数は、arguments プロパティを設定することで指定できます。

このクラスは、InitializingBean 契約に従ってすべてのプロパティが設定された後に呼び出される afterPropertiesSet() に依存しています。

このクラスを使用して静的初期化メソッドを呼び出す Bean 定義の例(XML ベースの Bean ファクトリ定義内):

 <bean id="myObject" class="org.springframework.beans.factory.config.MethodInvokingBean">
   <property name="staticMethod" value="com.whatever.MyClass.init"/>
 </bean>

インスタンスメソッドを呼び出してサーバー Bean を起動する例:

 <bean id="myStarter" class="org.springframework.beans.factory.config.MethodInvokingBean">
   <property name="targetObject" ref="myServer"/>
   <property name="targetMethod" value="start"/>
 </bean>
導入:
4.0.3
作成者:
Juergen Hoeller
関連事項:
  • コンストラクターの詳細

    • MethodInvokingBean

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

    • setBeanClassLoader

      public void setBeanClassLoader(ClassLoaderSE classLoader)
      インターフェースからコピーされた説明: BeanClassLoaderAware
      Bean class loaderSE を Bean インスタンスに提供するコールバック。

      通常の Bean プロパティの設定、ただし InitializingBean's InitializingBean.afterPropertiesSet() メソッドやカスタム init-method などの初期化コールバックの前に呼び出さます。

      次で指定:
      インターフェース BeanClassLoaderAwaresetBeanClassLoader 
      パラメーター:
      classLoader - 所有クラスローダー
    • resolveClassName

      protected ClassSE<?> resolveClassName(StringSE className) throws ClassNotFoundExceptionSE
      クラスからコピーされた説明: MethodInvoker
      指定されたクラス名をクラスに解決します。

      デフォルトの実装では、スレッドコンテキストクラスローダーを使用して ClassUtils.forName を使用します。

      オーバーライド:
      クラス MethodInvokerresolveClassName 
      パラメーター:
      className - 解決するクラス名
      戻り値:
      解決されたクラス
      例外:
      ClassNotFoundExceptionSE - クラス名が無効だった場合
    • setBeanFactory

      public void setBeanFactory(BeanFactory beanFactory)
      インターフェースからコピーされた説明: BeanFactoryAware
      所有ファクトリを Bean インスタンスに提供するコールバック。

      通常の Bean プロパティの設定後、ただし InitializingBean.afterPropertiesSet() またはカスタム init-method などの初期化コールバックの前に呼び出されます。

      次で指定:
      インターフェース BeanFactoryAwaresetBeanFactory 
      パラメーター:
      beanFactory - 所有 BeanFactory(非 null)。Bean は、ファクトリのメソッドをすぐに呼び出すことができます。
      関連事項:
    • getDefaultTypeConverter

      protected TypeConverter getDefaultTypeConverter()
      可能であれば、この Bean が実行されている BeanFactory から TypeConverter を取得します。
      オーバーライド:
      クラス ArgumentConvertingMethodInvokergetDefaultTypeConverter 
      関連事項:
    • afterPropertiesSet

      public void afterPropertiesSet() throws ExceptionSE
      インターフェースからコピーされた説明: InitializingBean
      すべての Bean プロパティを設定し、BeanFactoryAwareApplicationContextAware などを満たした後、包含 BeanFactory によって呼び出されます。

      このメソッドにより、Bean インスタンスは、すべての Bean プロパティが設定されたときに、その全体的な構成の検証と最終的な初期化を実行できます。

      次で指定:
      インターフェース InitializingBeanafterPropertiesSet 
      例外:
      ExceptionSE - 構成の誤り(必須プロパティの設定の失敗など)の場合、またはその他の理由で初期化が失敗した場合
    • invokeWithTargetException

      @Nullable protected ObjectSE invokeWithTargetException() throws ExceptionSE
      呼び出しを実行し、InvocationTargetException を基になるターゲット例外に変換します。
      例外:
      ExceptionSE