出现这个错误的原因可能有很多种,在这里我就只说一下我出错的原因吧


错误原因:切入点表达式书写错误


切入点表达式格式:execution(修饰符 返回值类型 包名.类名.方法名(方法参数)),其中修饰符可以省略


贴一下我出错的例子吧

项目结构
spring创建bean报错:nested exception is java.lang.IllegalArgumentException: warning no match for this typ_spring

切面类
spring创建bean报错:nested exception is java.lang.IllegalArgumentException: warning no match for this typ_spring_02

注意看我的切入点表达式:execution(* StudentDao.*(..))

在这里我省略了修饰符,因为'*'后面带括号,所以*(..)代表带任意参数的任意方法,此处的表达式含义:StudentDao包中的任意方法

一听就是有问题的,包中的哪个类?问题就出在这,没有指明切入的是包中的哪个类

正确的写法应该是:execution(* StudentDao.daomethod.*(..))
                      或者:execution(* StudentDao.*.*(..))