aspectj aop 配置和使用

aop 这个通过动态代理去理解其实很简单的,但是用xml 配置起来会显得有点麻烦,时间长不用也容易忘记配置所以记录下

aop是面向切片编程,只是一种编程规范没有规定具体实现的一种编程思想

            aspectj是aop的实现的一种,也是当前最常用的一种,提供了5种切入点,使用的是静态代理方式实现的 在代理中有5个节点

            begin  try(){ after }catch (Exception e){after-throwing }finally{after-returning }  一整套就是around这个的方法可以从sping 中注入一个ProceedingJoinPoint对象实现aop

             begin 时在执行前    after 执行后   after-throwing 异常时    after-returning 返回后      around 时实现上面四个

            跟进源码可以看到底层使用了Cglib 实现的动态代理

            可以打断点查看栈信息就能发现时或者通过在某个点上抛出一个异常并且打印就能看到他的具体栈帧信息

           直接上配置

      <aop:config>   //aop配置开始
            <aop:aspect ref="beanAdvisor">  <!-- 被加入到切入点的类 -->
            <aop:pointcut id="pointUserMgr" expression="execution(* fun.ipconfig.apptest.*(..))"/>  <!-- 定义切入点表达式 -->
            <aop:before method="dobefore"  pointcut-ref="pointUserMgr"/>  <!--  method 执行加入到切入点的类的方法  pointcut-ref  来之那个表达式 -->
        </aop:aspect>
    </aop:config>

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值