Spring_AOP之切入点的表达方式和通知类型

简单写写关于AOP切入点的表达方式和通知类型

通知类型:其中异常通知较简单便不做演示

    <!--编写切面类的配置-->
    <bean id="myAspectXml" class="com.qyh.demo2.MyAspectXml"/>

    <!--配置AOP-->
    <aop:config>
        <!--配置切面类:切入点+通知(类型)-->
        <aop:aspect ref="myAspectXml">
            <!--前置通知,在save方法执行之前,增强的方法会执行-->
            <!--切入点的表达式 execution(public void com.qyh.demo2.CustomerImpl.save())-->
            <!-- <aop:before method="log" pointcut="execution(public void com.qyh.demo2.CustomerDaoImpl.save())"/>-->

            <!--最终通知-->
            <!--<aop:after method="after" pointcut="execution(public void com.qyh.demo2.CustomerDaoImpl.save())"/>-->

            <!--后置通知-->
           <!-- <aop:after-returning method="afterReturn" pointcut="execution(public void com.qyh.demo2.CustomerDaoImpl.save())"/>-->

            <!--环绕通知-->
            <aop:around method="around" pointcut="execution(public void com.qyh.demo2.CustomerDaoImpl.save())"/>

        </aop:aspect>
    </aop:config>

切入点表达方式

 <!--配置AOP-->
    <aop:config>
        <!--配置切面类:切入点+通知(类型)-->
        <aop:aspect ref="myAspectXml">
            <!--切入点的表达式
                1.execution() 固定的,不能不写
                2.public 可以省略不写
                3.void 返回值可以出现*表示任意返回值 返回值类型不能不写
                4.包名可以用*代替 不能不写,简写方式:*..*
                5.类 简写:*DaoImpl
                6.方法 简写:save*()
                7.方法的参数:save(..),..:代表任意参数,*:代表一个参数
            -->


            <!--<aop:before method="log" pointcut="execution(public void com.qyh.demo2.CustomerDaoImpl.save())"/>-->

            <!--2.public 可以省略不写-->
            <!--<aop:before method="log" pointcut="execution(void com.qyh.demo2.CustomerDaoImpl.save())"/>-->

            <!--void 返回值可以出现*表示任意返回值 返回值类型不能不写-->
            <!-- <aop:before method="log" pointcut="execution(* com.qyh.demo2.CustomerDaoImpl.save())"/>-->

            <!--包名可以用*代替 不能不写,简写方式:*..*-->
            <!-- <aop:before method="log" pointcut="execution(* com.qyh.*.CustomerDaoImpl.save())"/>-->

            <!--简写方式:*..* 任意的包结构-->
            <!--<aop:before method="log" pointcut="execution(* *..*.CustomerDaoImpl.save())"/>-->

            <!--类 简写:*DaoImpl-->
            <!-- <aop:before method="log" pointcut="execution(* *..*.*DaoImpl.save())"/>-->

            <!--方法 简写:save*()-->
            <!--<aop:before method="log" pointcut="execution(* *..*.*DaoImpl.save*())"/>-->

            <!--方法的参数:save(..),..:代表任意参数,*:代表一个参数-->
            <aop:before method="log" pointcut="execution(* *..*.*DaoImpl.save*())"/>
        </aop:aspect>
    </aop:config>

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值