Spring学习之AOP的切点表达式详解

本文详细介绍了Spring中AOP的切点表达式,包括其写法和如何进行抽取以优化配置。切点表达式允许指定增强的范围,如`execution(* aop.*(..))`表示aop包下的所有类的所有方法。为了解决重复配置问题,可以将切点表达式抽取到单独的方法并使用@Pointcut注解,方便维护。

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

1.背景知识

在Sping中使用AOP的主要工作是配置织入关系,使用<aop:config>标签代表这一段是织入关系的配置
首先,用<aop:aspect>标签声明一个切面,这里要引用我们之前编写好的切面类极其在配置文件中注册的id(myAspect)
然后,通过<aop:[aopMethod]>标签对各种类型的增强进行配置,前置增强用before,后置增强用after
切面=增强+切点,所以在对应的增强类型中我们还要指定具体的增强方法和切点,配置切点就需要切点表达式

<!--配置织入关系:告诉Spring,哪些切点(目标方法)需要进行哪些增强(前置、后置等等...)-->
    <aop:config>
        <!--声明切面-->
        <aop:aspect ref="myAspect">
            <!--切面=增强+切点-->
            <aop:before method="beforeEnhance" pointcut="execution(public void com.lxl.aop.Target.service())"/>
            <aop:after method="afterEnhance" pointcut="execution(public void com.lxl.aop.Target.service())"/>
        </aop:aspect>
    </aop:config>

2.切点表达式的写法

切点表达式的语法:execution([修饰符] 返回值类型 包名.类名.方法名(参数)),其中

    评论 1
    添加红包

    请填写红包祝福语或标题

    红包个数最小为10个

    红包金额最低5元

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

    抵扣说明:

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

    余额充值