Spring Aop 切入点表达式解析

来源:互联网 发布:高中物理题库软件 编辑:程序博客网 时间:2024/06/05 18:01
切入点表达式
  主要用于指定哪些组件的方法当作目标,将来切入方面组件的功能。

方法限定

execution(修饰符?返回类型 方法名(参数) throws异常?)
   示例1:匹配所有的public方法
      exection(public * *(..))
   示例2:匹配所有以set开头的方法
      execution(* set*(..))
   示例3:匹配DeptService中的save方法
      execution(void com.service.DeptService.save(..))
   示例4:匹配DeptService中所有方法
      execution(* com.service.DeptService.*(..))
   示例5:匹配service包下所有类的所有方法
      execution(* com.service.*.*(..))
   示例6:匹配service包及其子包中所有类的所有方法
      execution(* com.service..*.*(..))

类型限定

    within(类型)
   示例1:匹配DeptService中所有方法
      within(com.service.DeptService)
   示例2:匹配service包中的所有类所有方法
      within(com.service.*)
   示例3:匹配service包及其子包中所有类的所有方法
      within(com.service..*)

Bean名称限定

     bean(BeanIdOrBeanName)
     利用Spring容器中<bean>元素的id或name属性值限定
    示例:匹配容器中id或name以Service结尾的Bean对象
       bean(*Service)

参数类型限定

     args(参数类型)
     示例:匹配只有一个参数,参数类型是List的方法
        args(java.util.List)

  注意:上述表达式可以使用&& ||将多个切入点表达式结合