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();
}
}
--------------------------------------------------------
运行结果:
买菜-->洗菜-->切菜-->炒菜-->上菜
spring简单前置通知、后置处理
最新推荐文章于 2024-04-03 15:10:15 发布
本文通过一个具体的例子展示了如何使用Spring AOP实现方法拦截,增强了目标方法的功能,并实现了买菜、洗菜等烹饪流程的自动化。此例中定义了一个烹饪蔬菜的服务类,通过引入装饰者类来增加额外的操作。
1万+

被折叠的 条评论
为什么被折叠?



