业务类
public void sell(Book book){
System.out.println("sell");
}
切面类
//这里sell参数类型为什么不可以是Book
@Pointcut("execution(* aop.library.BookShop.sell(Book))"+"&&"+"args(book)")
public void sell(Book book){}
@Before("sell(book)")
public void charge(Book book){
System.out.println("这本书叫:"+book);
}
错误:
Caused by: java.lang.IllegalArgumentException: warning no match for this type name: Book [Xlint:invalidAbsoluteTypeName]
at org.aspectj.weaver.tools.PointcutParser.parsePointcutExpression(PointcutParser.java:301)
但是把@Pointcut("execution(* aop.library.BookShop.sell(Book))"+"&&"+"args(book)")中的Book改成* 或者..就可以了
可是BookShop.sell(Book)是接受Book参数的啊
为什么会报错?