首页 > 编程知识 正文

adobe gc invoker,method invocation

时间:2023-05-05 10:45:16 阅读:59681 作者:373

直观地说,如果希望通过字符串的排列来调用方法,则可以使用spring提供的名为MethodInvoker的对象

样品

打包测试; importorg.spring framework.beans.factory.beanfactory; importorg.spring framework.context.support.classpathxmlapplicationcontext; importorg.spring framework.util.method invoker; publicclassamethodclass { publicstaticstringexecute (stringstr ) returnstr.concat('-result ' ); } public string execute2(stringstr ) returnstr.concat('-result2'; (publicstaticvoidmain (string [ ] args ) beanfactory beanfactory=newclasspathxmlapplicationcontext ) class path 3360应用程序此bean必须放置targetClass,targetMethod必须是静态方法* */methodinvokermethod=(method invoker ) beanfactory.getbean ) //下来自己选择方法参数Object[] arguments=new Object[1]; arguments[0]='test '; 方法. set arguments (arguments; try {//准备方法method.prepare (; //执行方法Object result=method.invoke (; system.out.println(result ); }catch(exceptione ) {e.printStackTrace ); }/* *请注意配置文件*获取配置的方法Invoker; 如果此bean配置了目标对象,则必须首先配置bean。 其中,从ref到此bean * targetMethod可以不是静态* */methodinvokermethod2=(method invoker ) beanfactory.//下来自己做方法参数arguments2[0]='test2'; method2. set arguments (arguments 2; try {//准备方法method2.prepare (; //执行方法Object result=method2.invoke (; system.out.println(result ); }catch(exceptione ) {e.printStackTrace ); }}} spring配置

bean id=' amethod ' class=' org.spring framework.util.method invoker ' property name=' target class ' value=' test . bean bean id=' amethod2class ' class=' test.amethod class '/bean id=' amethod2' class=' org.spring framework.util

但一般不直接使用方法Invoker; 而是使用MethodInvokingFactoryBean。 具体来说,请参见这两个类的javadoc

样品

打包测试; importorg.spring framework.beans.factory.beanfactory; importorg.spring framework.context.support.classpathxmlapplicationcontext; importorg.spring framework.util.method invoker; publicclassamethodclass { publicstaticstringexecute (stringstr ) returnstr.concat('-result ' ); } public string execute2(stringstr ) returnstr.concat('-result2'; (publicstaticvoidmain (string [ ] args ) beanfactory beanfactory=newclasspathxmlapplicationcontext ) class path 3360应用程序相当于spring给了你上述逻辑; 可以直接获取方法的执行结果*注意这里是方法的返回值; 不是class本身; 这是因为MethodInvokingFactoryBean实现了FactoryBean接口; *最终返回的对象通过接口方法getObject ()/object amethod3=beanfactory.get bean ) ' amethod3' )检索。 system.out.println(Amethod3; }

spring配置

bean id=' amethod3' class=' org.spring framework.beans.factory.config.methodinvokingfactorybean ' property name=e/value/property property name=' arguments ' list value test3/value/lalue

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。