クラス MethodInvokingBean
- 実装されたすべてのインターフェース:
Aware
、BeanClassLoaderAware
、BeanFactoryAware
、InitializingBean
- 既知の直属サブクラス
MethodInvokingFactoryBean
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
- 関連事項:
フィールドサマリー
クラス org.springframework.util.MethodInvoker から継承されたフィールド
targetClass
コンストラクターのサマリー
方法の概要
修飾子と型メソッド説明void
protected TypeConverter
可能であれば、この Bean が実行されている BeanFactory から TypeConverter を取得します。protected ObjectSE
呼び出しを実行し、InvocationTargetException を基になるターゲット例外に変換します。protected ClassSE<?>
resolveClassName
(StringSE className) 指定されたクラス名をクラスに解決します。void
setBeanClassLoader
(ClassLoaderSE classLoader) Beanclass loader
SE を Bean インスタンスに提供するコールバック。void
setBeanFactory
(BeanFactory beanFactory) 所有ファクトリを Bean インスタンスに提供するコールバック。クラス org.springframework.beans.support.ArgumentConvertingMethodInvoker から継承されたメソッド
doFindMatchingMethod, findMatchingMethod, getTypeConverter, registerCustomEditor, setTypeConverter
クラス org.springframework.util.MethodInvoker から継承されたメソッド
getArguments, getPreparedMethod, getTargetClass, getTargetMethod, getTargetObject, getTypeDifferenceWeight, invoke, isPrepared, prepare, setArguments, setStaticMethod, setTargetClass, setTargetMethod, setTargetObject
コンストラクターの詳細
MethodInvokingBean
public MethodInvokingBean()
メソッドの詳細
setBeanClassLoader
インターフェースからコピーされた説明:BeanClassLoaderAware
Beanclass loader
SE を Bean インスタンスに提供するコールバック。通常の Bean プロパティの設定後、ただし
InitializingBean's
InitializingBean.afterPropertiesSet()
メソッドやカスタム init-method などの初期化コールバックの前に呼び出されます。- 次で指定:
- インターフェース
BeanClassLoaderAware
のsetBeanClassLoader
- パラメーター:
classLoader
- 所有クラスローダー
resolveClassName
クラスからコピーされた説明:MethodInvoker
指定されたクラス名をクラスに解決します。デフォルトの実装では、スレッドコンテキストクラスローダーを使用して
ClassUtils.forName
を使用します。- オーバーライド:
- クラス
MethodInvoker
のresolveClassName
- パラメーター:
className
- 解決するクラス名- 戻り値:
- 解決されたクラス
- 例外:
ClassNotFoundExceptionSE
- クラス名が無効だった場合
setBeanFactory
インターフェースからコピーされた説明:BeanFactoryAware
所有ファクトリを Bean インスタンスに提供するコールバック。通常の Bean プロパティの設定後、ただし
InitializingBean.afterPropertiesSet()
またはカスタム init-method などの初期化コールバックの前に呼び出されます。- 次で指定:
- インターフェース
BeanFactoryAware
のsetBeanFactory
- パラメーター:
beanFactory
- 所有 BeanFactory(非null
)。Bean は、ファクトリのメソッドをすぐに呼び出すことができます。- 関連事項:
getDefaultTypeConverter
可能であれば、この Bean が実行されている BeanFactory から TypeConverter を取得します。afterPropertiesSet
インターフェースからコピーされた説明:InitializingBean
すべての Bean プロパティを設定し、BeanFactoryAware
、ApplicationContextAware
などを満たした後、包含BeanFactory
によって呼び出されます。このメソッドにより、Bean インスタンスは、すべての Bean プロパティが設定されたときに、その全体的な構成の検証と最終的な初期化を実行できます。
- 次で指定:
- インターフェース
InitializingBean
のafterPropertiesSet
- 例外:
ExceptionSE
- 構成の誤り(必須プロパティの設定の失敗など)の場合、またはその他の理由で初期化が失敗した場合
invokeWithTargetException
呼び出しを実行し、InvocationTargetException を基になるターゲット例外に変換します。- 例外:
ExceptionSE