package com.zyl;   

public class VegetalbeService    
{   
    public  void food()    
    {   
        System.out.print("切菜-->炒菜");   
    }   

}  

---------------------------------------
package com.zyl;   

import org.aopalliance.intercept.MethodInterceptor;   
import org.aopalliance.intercept.MethodInvocation;   

public class ServiceDecorator implements MethodInterceptor   
{   
    public Object invoke(MethodInvocation invocation)throws Throwable   
    {   
        System.out.print("买菜-->洗菜-->");   
        Object obj=invocation.proceed();   
        System.out.print("-->上菜");   
        return obj;   

    }   

}  

-------------------
package com.zyl;   

import org.springframework.aop.framework.ProxyFactory;   

public class Vegetable    
{   

    public static void main(String[] args)    
    {   
        VegetalbeService target=new VegetalbeService();   
        ProxyFactory factory=new ProxyFactory();   
        factory.addAdvice(new ServiceDecorator());   
        factory.setTarget(target);   
        VegetalbeService proxy=(VegetalbeService)factory.getProxy() ;   
        proxy.food();   

    }   

}  
--------------------------------------------------------
运行结果: 
买菜-->洗菜-->切菜-->炒菜-->上菜