无法访问 Spring AOP 中的代理对象

Unable to access proxy object in Spring AOP

这个问题可能有点简单,但我就是找不到解决方案。 我正在使用 Spring AOP,目前我只是想获取对框架本身创建的代理对象的引用。 我按照 this 线程提供的说明进行操作,但我仍然遇到以下异常:

线程 "main" java.lang.IllegalStateException 中出现异常:找不到当前代理:将 'exposeProxy' 属性 设置为 'true' 以使其可用。

这是我的 springContext.xml 中的必填条目:

 <aop:aspectj-autoproxy expose-proxy="true"/>

这是我的方面定义:

@Aspect
public class DynamicAspect {


@Pointcut("execution(* addition.aop.Actor.play(..))")
public void play() {

}

@Before("play()")
public void directorGivesInstructions() {
    System.out.println("Director: Light, camera, action!");
}

测试所有内容的主要方法:

public static void main(String[] args) {    
 ApplicationContext context = new ClassPathXmlApplicationContext(...);
 Actor actor = (Actor) context.getBean("actor");
 actor.play();
}

这是引发异常的 Actor class 中的方法:

 public void play() {
    AopContext.currentProxy();
    System.out.println("Actor starts playing his role...");
}

方面被编织并正确调用。

非常感谢!

最后我自己找到了错误。上面的代码工作正常。然而,将编译器从 ajc 换成 javac,我认识到代理展示只能使用 javac 而不是 AspectJ 编译器进行编译。我希望这对你们中的一些人有帮助!