原文: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"的時間格式