这很奇怪,但我真的需要这个......我有这个代码
@Aspect
public class SomeAspect {
SomeObject someObject = null;
@Pointcut("something")
public void somePoint() {
}
@Before("somePoint()")
public void beforeSomePoint() {
}
@After("somePoint()")
public void afterSomePoint() {
someObject.hello();
}
public void waitForEvent(SomeEvent event) {
someObject = event.getObject();
}
}
所以基本上我有切入点和两个建议,我有一个方法可以监听在我的应用程序中触发的一些事件。我从我感兴趣的事件中获取对象,并在方法中初始化someObject
变量。waitForEvent
这行得通,我确信它someObject
已正确传递到waitForEvent
方法中。
关键是我需要对我在建议方法主体中获得的那个对象进行操作,someObject.hello()
但在我看来,即使我知道在实际执行afterSomePoint
建议之前触发了事件,它仍然为空。
我没有使用 Spring 或任何其他相关框架。我使用的是纯 Java + AspectJ,带注释的版本。
如何将一些对象传递给外部的建议?
十分感谢