切入点未应用于抽象方法

Pra*_*iya 3 spring spring-aop

我试图将切入点应用于子类中的已实现方法,但不会在此切入点周围调用AspectMethod.以下是我的配置和代码:

public abstract class ParentClass {
  protected abstract void buildResponse(QueryResponse qryResp,ContentSearchServiceResponseImpl cssResp);
}


public class ChildClass extends ParentClass {
@override    
public void buildResponse(QueryResponse qryResp,ContentSearchServiceResponseImpl  ssResp){
//doSomething
}
Run Code Online (Sandbox Code Playgroud)

切入点:

<aop:pointcut id="pointcutId"
            expression="execution(public * ParentClass.buildResponse(..))" />
Run Code Online (Sandbox Code Playgroud)

要么

<aop:pointcut id="pointcutId"
            expression="execution(protected * ParentClass.buildResponse(..))" />
Run Code Online (Sandbox Code Playgroud)

要么

<aop:pointcut id="pointcutId"
            expression="execution(public * ParentClass+.buildResponse(..))" />
Run Code Online (Sandbox Code Playgroud)

对于任何上述切入点的配置,Aspect都没有被创建.我已经尝试了几乎所有的东西.如果有人对此有所了解......我不能直接使用Child Class的名称,因为在我的情况下,多个子类正在实现这个抽象方法

pap*_*pap 5

尝试

execution(public * buildResponse(..)) && within(ParentClass+)
Run Code Online (Sandbox Code Playgroud)

要么

execution(public * buildResponse(..)) && target(ParentClass+)
Run Code Online (Sandbox Code Playgroud)

还要记住,如果使用"标准"基于Spring代理的AOP,那么类内部的调用(一个方法调用同一个类中的另一个方法)不会受到任何建议.