Spring为我们提供了诸如NameMatchMethodPointcutAdvisor的类,这个类可以同时充当PointCut和Advisor
看如下代码:
我们不需要额外的创建PointCut实例就可以完成切面织入
package ch6.SimpleAOP.PointCutAdvisor;
import org.aopalliance.aop.Advice;
import org.springframework.aop.Advisor;
import org.springframework.aop.Pointcut;
import org.springframework.aop.framework.ProxyFactory;
import org.springframework.aop.support.DefaultPointcutAdvisor;
import org.springframework.aop.support.NameMatchMethodPointcutAdvisor;

public class Test ...{

/** *//**
* @param args
*/
public static void main(String[] args) ...{
BeanOne one=new BeanOne();
BeanOne proxyOne;
NameMatchMethodPointcutAdvisor advisor=new NameMatchMethodPointcutAdvisor(new SimpleAdvise());
advisor.addMethodName("foo");
//创建BeanOne代理
ProxyFactory pf1=new ProxyFactory();
pf1.addAdvisor(advisor);
pf1.setTarget(one);
proxyOne=(BeanOne)pf1.getProxy();
proxyOne.foo();
proxyOne.bar();
}
}
这个案例针对方法名匹配的切入点,其他通知者的实现类请参考Spring DOC
本文介绍如何使用Spring的NameMatchMethodPointcutAdvisor类简化面向切面编程(AOP)的实现。通过具体示例展示了如何配置切入点及增强处理,使得开发者能够更加灵活地控制切面的织入。
1082

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



