出现这个错误的原因可能有很多种,在这里我就只说一下我出错的原因吧
切入点表达式格式:execution(修饰符 返回值类型 包名.类名.方法名(方法参数))
,其中修饰符可以省略
贴一下我出错的例子吧
项目结构
切面类
注意看我的切入点表达式:execution(* StudentDao.*(..))
在这里我省略了修饰符,因为'*'
后面带括号,所以*(..)
代表带任意参数的任意方法,此处的表达式含义:StudentDao包中的任意方法
一听就是有问题的,包中的哪个类?问题就出在这,没有指明切入的是包中的哪个类
正确的写法应该是:execution(* StudentDao.daomethod.*(..))
或者:execution(* StudentDao.*.*(..))