表达式 | 含义 |
.* | 在路径表达上 代表当前包通配, 在表达方法上是 代表当前类所有方法 |
..* | 在路径表达上 代表当前包及子包通配, 在表达方法上是 代表当前包及子包所有类的所有方法 |
栗子:
@Pointcut("execution(public * com.*.path..controller..*.*(..))")
public :匹配所有目标类的public方法,不写则匹配所有访问权限
第一个 * :方法返回值类型,*代表所有类型
第二个 * :包路径的通配符,即com与path之间有一个包名
.. :表示当前包及子包,即忽略path与controller中间的路径
第三个 ..* :表示controller这个包及子包下所有的类
第四个 *(..) : *表示所有任意方法名,..表示任意参数
@Pointcut("execution(public * com.path.*Config.get*(..) || execution(public * com.path..*.*Property.get*(..)))")
public :匹配所有目标类的public方法,不写则匹配所有访问权限
*Config :表示匹配任何以Config结尾的类
get*(..) :表示匹配任何以get开头的方法