MethodBeforeAdvice之前方法不被调用
问题描述:
嗨,我想我在Spring中发现了一个错误。我试图使用一个简单的MethodBeforeAdvice来检查我的登录数据,然后运行一些方法,这里是代码的快照。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是代理,所以我在变量窗口中点击它,你怎么知道的方法得到了调用之前。就连陌生人我可以点击它很多次我喜欢和方法将被调用。 剂量任何身体有一个想法发生了什么事情听到?
答
找到答案,它没有工作的原因是因为showMessage()是一个静态method.It似乎MethodBeforeAdvice之前方法不适用于静态方法。至于调试问题,我不知道。