我的方面是:
@Aspect
@Service
public class MyAspect {
@AfterReturning(value="(execution(* find(..)) )" +
"&& target(com.erp.core.service.IBaseApplicationService) " +
"&& args(queryKey,object,..)")
public void print()
{
System.out.println("find method called");
}
}
AOP 找不到的类型名称在:
@Transactional(readOnly=true)
public List find(String queryKey, Object[] object) {
return baseRepository.find(queryKey, object);
}
find 是基本方法,所以每当我打开一个页面时,它都会被调用。
堆栈跟踪如下:
Caused by: java.lang.IllegalArgumentException: warning no match for this type name: queryKey [Xlint:invalidAbsoluteTypeName]
at org.aspectj.weaver.tools.PointcutParser.parsePointcutExpression(PointcutParser.java:301)
at org.springframework.aop.aspectj.AspectJExpressionPointcut.buildPointcutExpression(AspectJExpressionPointcut.java:195)
at org.springframework.aop.aspectj.AspectJExpressionPointcut.checkReadyToMatch(AspectJExpressionPointcut.java:181)
at org.springframework.aop.aspectj.AspectJExpressionPointcut.getClassFilter(AspectJExpressionPointcut.java:162)
at org.springframework.aop.support.AopUtils.canApply(AopUtils.java:200)
at org.springframework.aop.support.AopUtils.canApply(AopUtils.java:254)
at org.springframework.aop.support.AopUtils.findAdvisorsThatCanApply(AopUtils.java:286)
它表明与类型名称 queryKey 不匹配
月关宝盒
相关分类