zoukankan      html  css  js  c++  java
  • spring学习第8天(advisor)

    1.关于之前的一个错误:aop的输出顺序,实际上官方文档上并没有说是否按照书写顺序输出的,有可能你1000次里面800次按顺序输出,200是随机输出的。<aop:aspect>有一个order属性,值越小的先输出。

    2.Advisor:通知器,有某个或某些通知类型的切面类

    特定通知是靠此类实现某些接口来表示的.
    spring有如下接口来表明不同的通知类型
    MethodBeforeAdvice:前置通知
    AfterReturningAdvice:返回通知
    ThrowsAdvice:异常通知
    MethodInterceptor:环绕通知
    注意:没有最终通知(after通知)

    advisor这种写法已经不推荐,主要是老版本的spring的一种配置方式,但是spring的事务配置方式用到了这种方法

    <aop:config><aop:pointcut><aop:advisor></aop:config>

    java代码中,主要是分别实现4种接口:

    MethodBeforeAdvice 前置
    AfterReturningAdvice 返回
    MethodInterceptor 环绕,(是重写invoke方法的,有两个同名的接口)
    ThrowsAdvice 抛出

    ThrowsAdvice是一个空接口,但是它的方法签名有要求

    异常通知接口是个空接口
    * 方法的签名必须是:
    * 1.返回类型是void
    * 2.方法名是afterThrowing
    * 3.方法的参数可以是
    * 3.1 Method method, Object[] args, Object target(表明接收所有异常)
    * 3.2 或者Method method, Object[] args, Object target,异常类(表示只接受一种定义的异常)

  • 相关阅读:
    Splay
    AVL
    Everything 搜索文件
    佛祖保佑 永无Bug
    火绒注入
    STL vector list map 用法
    漏洞挖掘 向目标进程中植入代码
    漏洞挖掘 利用漏洞控制程序执行流程
    漏洞挖掘 堆栈的溢出实践
    追码CM破解笔记
  • 原文地址:https://www.cnblogs.com/woyujiezhen/p/11761512.html
Copyright © 2011-2022 走看看