org.springframework.beans.factory.config

## 类 MethodInvokingBean

- java.lang.Object
- - org.springframework.util.MethodInvoker
  - - org.springframework.beans.support.ArgumentConvertingMethodInvoker
    - - org.springframework.beans.factory.config.MethodInvokingBean

- 所有已实现的接口:
    Aware, BeanClassLoaderAware, BeanFactoryAware, InitializingBean
  直接已知子类:
    MethodInvokingFactoryBean

      public class MethodInvokingBean
      extends ArgumentConvertingMethodInvoker
      implements BeanClassLoaderAware, BeanFactoryAware, InitializingBean

  Simple method invoker bean: just invoking a target method, not expecting a result to expose to the container (in contrast to `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>

  从以下版本开始:
    4.0.3
  作者:
    Juergen Hoeller
  另请参阅:
    `MethodInvokingFactoryBean`, `MethodInvoker`

- - ### 字段概要

    - ### 从类继承的字段 org.springframework.util.MethodInvoker

      `targetClass`

  - ### 构造器概要

    构造器
    构造器和说明
    `MethodInvokingBean()`

  - ### 方法概要

    所有方法 实例方法 具体方法
    限定符和类型 | 方法和说明
    --- | ---
    `void` | `afterPropertiesSet()` Invoked by the containing `BeanFactory` after it has set all bean properties and satisfied `BeanFactoryAware`, `ApplicationContextAware` etc.
    `protected TypeConverter` | `getDefaultTypeConverter()` Obtain the TypeConverter from the BeanFactory that this bean runs in, if possible.
    `protected Object` | `invokeWithTargetException()` Perform the invocation and convert InvocationTargetException into the underlying target exception.
    `protected Class<?>` | `resolveClassName(String className)`
    `void` | `setBeanClassLoader(ClassLoader classLoader)` Callback that supplies the bean `class loader` to a bean instance.
    `void` | `setBeanFactory(BeanFactory beanFactory)` Callback that supplies the owning factory to a bean instance.

    - ### 从类继承的方法 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`

    - ### 从类继承的方法 java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### 构造器详细资料

    - #### MethodInvokingBean

          public MethodInvokingBean()

  - ### 方法详细资料

    - #### setBeanClassLoader

          public void setBeanClassLoader(ClassLoader classLoader)

      从接口复制的说明: `BeanClassLoaderAware`
      Callback that supplies the bean `class loader` to a bean instance.

      Invoked after the population of normal bean properties but before an initialization callback such as `InitializingBean's` `InitializingBean.afterPropertiesSet()` method or a custom init-method.

      指定者:
        `setBeanClassLoader` 在接口中 `BeanClassLoaderAware`
      参数:
        `classLoader` - the owning class loader

    - #### resolveClassName

          protected Class<?> resolveClassName(String className)
                                       throws ClassNotFoundException

      覆盖:
        `resolveClassName` 在类中 `org.springframework.util.MethodInvoker`
      抛出:
        `ClassNotFoundException`

    - #### setBeanFactory

          public void setBeanFactory(BeanFactory beanFactory)

      从接口复制的说明: `BeanFactoryAware`
      Callback 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.

      指定者:
        `setBeanFactory` 在接口中 `BeanFactoryAware`
      参数:
        `beanFactory` - owning BeanFactory (never `null`). The bean can immediately call methods on the factory.
      另请参阅:
        `BeanInitializationException`

    - #### getDefaultTypeConverter

          protected TypeConverter getDefaultTypeConverter()

      Obtain the TypeConverter from the BeanFactory that this bean runs in, if possible.
      覆盖:
        `getDefaultTypeConverter` 在类中 `ArgumentConvertingMethodInvoker`
      另请参阅:
        `ConfigurableBeanFactory.getTypeConverter()`

    - #### afterPropertiesSet

          public void afterPropertiesSet()
                                  throws Exception

      从接口复制的说明: `InitializingBean`
      Invoked by the containing `BeanFactory` after it has set all bean properties and satisfied `BeanFactoryAware`, `ApplicationContextAware` etc.

      This method allows the bean instance to perform validation of its overall configuration and final initialization when all bean properties have been set.

      指定者:
        `afterPropertiesSet` 在接口中 `InitializingBean`
      抛出:
        `Exception` - in the event of misconfiguration (such as failure to set an essential property) or if initialization fails for any other reason

    - #### invokeWithTargetException

          @Nullable
          protected Object invokeWithTargetException()
                                                         throws Exception

      Perform the invocation and convert InvocationTargetException into the underlying target exception.
      抛出:
        `Exception`