@Pointcut("execution(public * com.test..*.*ServiceImpl.*(..))")


  1. public * xxx.xx 这里'*'标识所有返回类型

  2. com.xxx 这里是包名位置 

  3. com.xxx.* 这里 '.*' 表示包下的所有类

  4. 如果是com.xxx..* 这里'..*'  标识包、子包下的所有类

  5. com.*.*ServiceImpl  这里 '.*ServiceImpl' 则标识所有以ServiceImpl为后缀的类

  6. xxx.*ServiceImpl.*(..)  这里'.*(..)' 则表示类中的所有方法。

  7. xxx.*ServiceImpl.query*(..) 这里'.query*(..)' 则表示所有以query开头的方法

综上来看 表达式中  '*'代表通配的意思 而'..'则表示个数不限

如:

1.    'xxx..*' 是xxx下的所有,包括所有层级

2.    方法中(..)则表示参数不限个数 

3.     '*' 则为通配的意思


乐享:知识积累,快乐无限。