@Pointcut("execution(public * com.test..*.*ServiceImpl.*(..))")
public * xxx.xx 这里'*'标识所有返回类型
com.xxx 这里是包名位置
com.xxx.* 这里 '.*' 表示包下的所有类
如果是com.xxx..* 这里'..*' 标识包、子包下的所有类
com.*.*ServiceImpl 这里 '.*ServiceImpl' 则标识所有以ServiceImpl为后缀的类
xxx.*ServiceImpl.*(..) 这里'.*(..)' 则表示类中的所有方法。
xxx.*ServiceImpl.query*(..) 这里'.query*(..)' 则表示所有以query开头的方法
综上来看 表达式中 '*'代表通配的意思 而'..'则表示个数不限
如:
1. 'xxx..*' 是xxx下的所有,包括所有层级
2. 方法中(..)则表示参数不限个数
3. '*' 则为通配的意思
乐享:知识积累,快乐无限。