Java org.springframework.util.MethodInvoker。何时使用,为什么使用?

Java org.springframework.util.MethodInvoker。何时使用,为什么使用?,java,spring,Java,Spring,我是春天的新手 我想知道何时以及为什么使用org.springframework.util.MethodInvoker 在我的项目中,我在applicationService.xml中看到了这一点,它将主题(sonic)作为目标对象,将targetMethod作为订阅 答案在旧版本中更为明确。在forMethodInvoker中说:通常不直接使用,而是通过其子类MethodInvokingFactoryBean和MethodInvokingJobDetailFactoryBean使用 您可以在M

我是春天的新手

我想知道何时以及为什么使用
org.springframework.util.MethodInvoker


在我的项目中,我在
applicationService.xml
中看到了这一点,它将主题(sonic)作为目标对象,将targetMethod作为订阅

答案在旧版本中更为明确。在for
MethodInvoker
中说:通常不直接使用,而是通过其子类MethodInvokingFactoryBean和MethodInvokingJobDetailFactoryBean使用

您可以在
MethodInvokingFactoryBean
javadoc中找到使用示例:

使用此类调用静态工厂方法的bean定义示例(在基于XML的bean工厂定义中):


调用静态方法然后调用实例方法以获取Java系统属性的示例。有点冗长,但它是有效的



TL/DR:
MethodInvoker
本身很少使用,但其子类如
org.springframework.beans.factory.config.MethodInvokingFactoryBean
是用于执行XML配置文件中的任意方法。

Serge Ballesta-我想我的问题的简短答案是subscribe方法被调用来读取主题(sonic),但我将再次浏览java文档以了解如何调用这些方法。谢谢你的时间
 <bean id="myObject" class="org.springframework.beans.factory.config.MethodInvokingFactoryBean">
   <property name="staticMethod" value="com.whatever.MyClassFactory.getInstance"/>
 </bean>
 <bean id="sysProps" class="org.springframework.beans.factory.config.MethodInvokingFactoryBean">
   <property name="targetClass" value="java.lang.System"/>
   <property name="targetMethod" value="getProperties"/>
 </bean>

 <bean id="javaVersion" class="org.springframework.beans.factory.config.MethodInvokingFactoryBean">
   <property name="targetObject" value="sysProps"/>
   <property name="targetMethod" value="getProperty"/>
   <property name="arguments" value="java.version"/>
 </bean>