嗨,我想我在 Spring 中发现了一个错误。我试图在运行某些方法之前使用一个简单的 MethodBeforeAdvice 来检查我的登录数据,这里是代码的快照。
公共类主要{
public static void main(String []args){
ProxyFactory pf = new ProxyFactory();
SecureMessage sm = new SecureMessage();
pf.setTarget(sm);
pf.addAdvice(new SecurityAdvice());
SecureMessage sm1 = (SecureMessage) pf.getProxy();
sm1.showMessage();
}
如您所见,没有什么特别的。当调用 showMessage() 方法时,我期望 SecurityAdvice 先于方法首先被调用,但事实并非如此。但是当我在调试窗口中并来到最后一行时,这是一件超级奇怪的事情。
sm1.showMessage();
我想看看 sm1 是否是一个代理,所以我在“变量”窗口中单击它,你知道调用了之前的方法吗?即使是陌生人,我也可以多次单击它,然后调用该方法。有没有人知道发生了什么?