【发布时间】:2019-11-01 07:39:37
【问题描述】:
我正在学习 Spring AOP,并从 spring-framework-reference 的 AOP 部分中的一个示例中得到以下切入点表达式:Proceeding with Arguments
@Around("execution(List<Account> find*(..)) && " +
"com.xyz.myapp.SystemArchitecture.inDataAccessLayer() && " +
"args(accountHolderNamePattern)")
public Object preProcessQueryPattern(ProceedingJoinPoint pjp,
String accountHolderNamePattern) throws Throwable {
String newPattern = preProcess(accountHolderNamePattern);
return pjp.proceed(new Object[] {newPattern});
}
据我了解,这个切入点表达式是不正确的,因为 and 条件永远不会满足。我是否遗漏了一些非常明显的东西?
我还尝试了以下操作 (ref):
@Component
public class TestBean {
public void testMethod() {
}
}
方面类
@Before("com.test.bean.TestBean.testMethod()")
public void testAspect() {
System.out.println("Worked");
}
失败了
Caused by: java.lang.IllegalArgumentException: error at ::0 can't find referenced pointcut testMethod
at org.aspectj.weaver.tools.PointcutParser.parsePointcutExpression(PointcutParser.java:319)
【问题讨论】:
标签: spring-aop