Class MethodInvokingBean
- All Implemented Interfaces:
- Aware,- BeanClassLoaderAware,- BeanFactoryAware,- InitializingBean
- Direct Known Subclasses:
- MethodInvokingFactoryBean
MethodInvokingFactoryBean).
 This invoker supports any kind of target method. A static method may be specified
 by setting the targetMethod property to a String representing
 the static method name, with targetClass specifying the Class
 that the static method is defined on. Alternatively, a target instance method may be
 specified, by setting the targetObject property as the target
 object, and the targetMethod property as the name of the
 method to call on that target object. Arguments for the method invocation may be
 specified by setting the arguments property.
 
This class depends on afterPropertiesSet() being called once
 all properties have been set, as per the InitializingBean contract.
 
An example (in an XML based bean factory definition) of a bean definition which uses this class to call a static initialization method:
<bean id="myObject" class="org.springframework.beans.factory.config.MethodInvokingBean"> <property name="staticMethod" value="com.whatever.MyClass.init"/> </bean>
An example of calling an instance method to start some server bean:
<bean id="myStarter" class="org.springframework.beans.factory.config.MethodInvokingBean"> <property name="targetObject" ref="myServer"/> <property name="targetMethod" value="start"/> </bean>
- Since:
- 4.0.3
- Author:
- Juergen Hoeller
- See Also:
- 
Field SummaryFields inherited from class org.springframework.util.MethodInvokertargetClass
- 
Constructor SummaryConstructors
- 
Method SummaryModifier and TypeMethodDescriptionvoidInvoked by the containingBeanFactoryafter it has set all bean properties and satisfiedBeanFactoryAware,ApplicationContextAwareetc.protected TypeConverterObtain the TypeConverter from the BeanFactory that this bean runs in, if possible.protected ObjectPerform the invocation and convert InvocationTargetException into the underlying target exception.protected Class<?>resolveClassName(String className) Resolve the given class name into a Class.voidsetBeanClassLoader(ClassLoader classLoader) Callback that supplies the beanclass loaderto a bean instance.voidsetBeanFactory(BeanFactory beanFactory) Callback that supplies the owning factory to a bean instance.Methods inherited from class org.springframework.beans.support.ArgumentConvertingMethodInvokerdoFindMatchingMethod, findMatchingMethod, getTypeConverter, registerCustomEditor, setTypeConverterMethods inherited from class org.springframework.util.MethodInvokergetArguments, getPreparedMethod, getTargetClass, getTargetMethod, getTargetObject, getTypeDifferenceWeight, invoke, isPrepared, prepare, setArguments, setStaticMethod, setTargetClass, setTargetMethod, setTargetObject
- 
Constructor Details- 
MethodInvokingBeanpublic MethodInvokingBean()
 
- 
- 
Method Details- 
setBeanClassLoaderDescription copied from interface:BeanClassLoaderAwareCallback that supplies the beanclass loaderto a bean instance.Invoked after the population of normal bean properties but before an initialization callback such as InitializingBean'sInitializingBean.afterPropertiesSet()method or a custom init-method.- Specified by:
- setBeanClassLoaderin interface- BeanClassLoaderAware
- Parameters:
- classLoader- the owning class loader
 
- 
resolveClassNameDescription copied from class:MethodInvokerResolve the given class name into a Class.The default implementations uses ClassUtils.forName, using the thread context class loader.- Overrides:
- resolveClassNamein class- MethodInvoker
- Parameters:
- className- the class name to resolve
- Returns:
- the resolved Class
- Throws:
- ClassNotFoundException- if the class name was invalid
 
- 
setBeanFactoryDescription copied from interface:BeanFactoryAwareCallback that supplies the owning factory to a bean instance.Invoked after the population of normal bean properties but before an initialization callback such as InitializingBean.afterPropertiesSet()or a custom init-method.- Specified by:
- setBeanFactoryin interface- BeanFactoryAware
- Parameters:
- beanFactory- owning BeanFactory (never- null). The bean can immediately call methods on the factory.
- See Also:
 
- 
getDefaultTypeConverterObtain the TypeConverter from the BeanFactory that this bean runs in, if possible.- Overrides:
- getDefaultTypeConverterin class- ArgumentConvertingMethodInvoker
- See Also:
 
- 
afterPropertiesSetDescription copied from interface:InitializingBeanInvoked by the containingBeanFactoryafter it has set all bean properties and satisfiedBeanFactoryAware,ApplicationContextAwareetc.This method allows the bean instance to perform validation of its overall configuration and final initialization when all bean properties have been set. - Specified by:
- afterPropertiesSetin interface- InitializingBean
- Throws:
- Exception- in the event of misconfiguration (such as failure to set an essential property) or if initialization fails for any other reason
 
- 
invokeWithTargetExceptionPerform the invocation and convert InvocationTargetException into the underlying target exception.- Throws:
- Exception
 
 
-