zoukankan      html  css  js  c++  java
  • Spring aop 注解参数说明

    spring AOP中,需要使用AspectJ的切点表达式语言来定义切点。 
    关于Spring AOP的AspectJ切点,最重要的一点是Spring仅支持AspectJ切点指示器(pointcut designator)的一个子集。

    AspectJ指示器 描述

    arg() 限制连接点匹配参数为指定类型的执行方法
    @arg() 限制连接点匹配参数由指定注解标注的执行方法
    execution() 用于匹配是连接点的执行方法
    this() 限制连接点匹配AOP代理的Bean引用为指定类型的类
    target() 限制连接点匹配目标对象为指定类型的类
    @target() 限制连接点匹配特定的执行对象,这些对象对应的类要具备指定类型的注解
    within() 限制连接点匹配指定的类型
    @within() 限制连接点匹配指定注解所标注的类型
    @annotation 限制匹配带有指定注解连接点

    只有execution指示器是唯一的执行匹配,而其他的指示器都是用于限制匹配的。这说明execution指示器是我们在编写切点定义时最主要使用的指示器。在此基础上,我们使用其他指示器来限制所匹配的切点。 
    1.编写切点 
    使用AspectJ切点表达式来定位
    当Instrument的play()方法执行时会触发通知。 
    使用within()指示器来限制匹配
    配置切点仅匹配com.springinaction.springidol包。 
    我们使用了&&操作符把execution()和within()指示器连接在一起形成and关系(切点必须匹配所有的指示器)。类似的我们可以使用||操作符来标识or关系,而使用!操作符来标识非操作。 
    2.使用Spring的bean()指示器 
    bean()使用Bean ID或Bean名称作为参数来限制切点只匹配特定的Bean。 
    execution(* com.springinaction.springidol.Instrument.play() and bean(eddie))

  • 相关阅读:
    Java集合概述
    Java8内存结构—永久代(PermGen)和元空间(Metaspace)
    ArrayList分析
    “三次握手,四次挥手”你真的懂吗?
    Object中的方法以及对象相等的判定
    笔记
    Mybatis中的@Param注解
    react与jQuery对比,有空的时候再翻译一下
    队列理论和队列网络模型 queueing theory and queueing network model
    下拉列表autocomplete各种实现方式比较
  • 原文地址:https://www.cnblogs.com/earendil/p/7765372.html
Copyright © 2011-2022 走看看