MethodReplacer替換方法實例

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



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章