栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

如何通过XML方式配置AOP过程解析

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

如何通过XML方式配置AOP过程解析

第一步:把通知类用 bean 标签配置起来


  
  

第二步:使用 aop:config 声明 aop 配置

aop:config:

作用:用于声明开始 aop 的配置



第三步:在使用 aop:config标签里面配置 aop:aspect切面

aop:aspect:

作用: 用于配置切面。 属性:

  • id:给切面提供一个唯一标识。
  • ref:引用配置好的通知类 bean 的 id。




第四步:使用 aop:pointcut 配置切入点表达式

aop:pointcut:

作用: 用于配置切入点表达式。就是指定对哪些类的哪些方法进行增强。

属性: expression:用于定义切入点表达式。

id:用于给切入点表达式提供一个唯一标识



第五步:使用 aop:xxx 配置对应的通知类型


  
  
  
    
    
    
    
    
    
    
    
  

六、详细解析

 aop:before 
  作用:  用于配置前置通知。指定增强的方法在切入点方法之前执行  
  属性: 
    method:用于指定通知类中的增强方法名称  
    ponitcut-ref:用于指定切入点的表达式的引用  
    poinitcut:用于指定切入点表达式  
    执行时间点:切入点方法执行之前执行 
   


  aop:after-returning 
    作用:  用于配置后置通知 属性:  
    method:指定通知中方法的名称。  
    pointct:定义切入点表达式  
    pointcut-ref:指定切入点表达式的引用 
    执行时间点:  切入点方法正常执行之后。它和异常通知只能有一个执行 
   


  aop:after-throwing 
     作用:  用于配置异常通知 属性:  
     method:指定通知中方法的名称。  
     pointct:定义切入点表达式  
     pointcut-ref:指定切入点表达式的引用 
     执行时间点:  切入点方法执行产生异常后执行。它和后置通知只能执行一个 
  


  aop:after 
     作用:  用于配置最终通知 属性:  
     method:指定通知中方法的名称。  
     pointct:定义切入点表达式  
     pointcut-ref:指定切入点表达式的引用 
     执行时间点:  无论切入点方法执行时是否有异常,它都会在其后面执行。 
   



 aop:around: 
     作用:  用于配置环绕通知 
     属性:  
method:指定通知中方法的名称。  
pointct:定义切入点表达式  
pointcut-ref:指定切入点表达式的引用 
     说明:  它是 spring 框架为我们提供的一种可以在代码中手动控制增强代码什么时候执行的方式。 
     注意:  通常情况下,环绕通知都是独立使用的 

七、环绕通知

  
  public Object transactionAround(ProceedingJoinPoint pjp) { 
     //定义返回值 
    Object rtValue = null; 
    try {  
    //获取方法执行所需的参数  
    Object[] args = pjp.getArgs(); 
    
    //前置通知:开启事务  
    beginTransaction(); 
    
    //执行方法  
    rtValue = pjp.proceed(args); 
    
    //后置通知:提交事务  
    commit(); 
    }catch(Throwable e) {  
    //异常通知:回滚事务  
    rollback();  
    e.printStackTrace(); 
    }finally { 
     //最终通知:释放资源  
release(); 
    } 
return rtValue; 
   }

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持考高分网。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/133229.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号