MethodReplacer替换方法实例

来源:互联网 发布:汽车导航软件安装 编辑:程序博客网 时间:2024/06/15 11:32

原文:http://www.cnblogs.com/shizhongtao/p/3468713.html

MethodReplacer比较简单,改文章简单明了,直接贴的别人博客,望原著谅解。

org.springframework.beans.factory.support.MethodReplacer这个接口作用是替换方法时候用的。就是执行时候用新建的逻辑替换已有的方法逻辑。具体使用实例如下:

public class MvcService{     public String getTime(){         SimpleDateFormat formate=new SimpleDateFormat("yy-MM-dd");         return formate.format(new Date());     } }

替代的类及方法:

import java.lang.reflect.Method;import java.text.SimpleDateFormat;import java.util.Calendar;import org.springframework.beans.factory.support.MethodReplacer; 
public class MvcServiceReplaceImpl implements MethodReplacer{    
      @Override     public Object reimplement(Object arg0, Method arg1, Object[] arg2)             throws Throwable {         SimpleDateFormat formate=new SimpleDateFormat("yy-MM-dd HH:mm:ss.SS");         Calendar c=Calendar.getInstance();         c.add(Calendar.YEAR, 2);         return formate.format(c.getTime());     }  }

配置文件:

<bean id="mvcService" class="com.bing.service.MvcService">         <replaced-method name="getTime" replacer="replacementComputeValue">             <!-- <arg-type>String</arg-type> -->         </replaced-method>      </bean>     <bean id="replacementComputeValue" class="com.bing.service.MvcServiceReplaceImpl" />

这里的意思是用MvcServiceReplaceImpl中的方法替代类com.bing.service.MvcService中的getTime方法。当你运行时候返回的结果就不是上面的“yy-MM-dd”的时间格式而是"yy-MM-dd HH:mm:ss.SS"的时间格式



原创粉丝点击