一、前言
在定义 SpringAOP 的切点时候,比如使用 @Pointcut
注解标记切点时,需要填写我们需要切入通知的连接点的特征,即连接点的匹配规则或表达式,这些表达式是通过被称之为切点指示符的符号进行编写的。
本文只对 SpringAOP 的切点指示符进行讲解,如果想了解有关 SpringAOP 的知识的话,可以参考我的另一篇博客:【Spring】之 SpringAOP 原理与实践
二、切点标志符(designator
)
1、通配符
在使用切点指示符进行匹配表达式编写时,几乎都需要使用到通配符进行模糊匹配,常用的通配符有三个:..
、+
和 *
..
:表示匹配方法中的任意数量和类型的参数,或者匹配类下的任意包;+
:表示匹配给定类的任意子类;*
:表示匹配任意数量的字符。
2、类型指示符(within
)
within
指示符用于匹配类型(包括:接口、类和包),其语法格式如下:
within(<type name>)
示例如下:
// 匹配 com.example.dao 包下的所有类的所有方法,但不包括子包的类
@Pointcut("within(com.example.dao.*)")
// 匹配 com.example.dao 包及其子包中所有类中的所有方法
@Pointcut(