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,异常类(表示只接受一种定义的异常)

  • 相关阅读:
    配置VSFTP文件服务器
    Apache Tomcat服务部署网站
    NFS实现Unix-like文件共享
    OpenSSH 服务配置与管理
    Redis 数据库配置与应用
    Rsync+Inotify 实现数据同步
    PXE+Kickstart 自动化部署系统
    PostFix+Dovecot 部署邮件系统
    部署MooseFS分布式文件系统
    MVC5+EF6 完整教程
  • 原文地址:https://www.cnblogs.com/woyujiezhen/p/11761512.html
Copyright © 2011-2022 走看看