《Pro Spring》学习笔记之Advisor的便利实现

本文介绍如何使用Spring的NameMatchMethodPointcutAdvisor类简化面向切面编程(AOP)的实现。通过具体示例展示了如何配置切入点及增强处理,使得开发者能够更加灵活地控制切面的织入。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值