[晕眩] 一个简单的SpringAOP配置,但怎么也出不来~

本人有一个Action,然后调用它的forMain()方法的之前,希望用AOP给个小通知。



但是很奇怪,启动服务之后,Spring读取也成功了,但就是当webwork调用Action时就是不理睬我配置的BeforeAdvice。不知道是我理解错误还是配置错误。请各位高手帮我看看~





Action代码:

public class AdjustTransactionAction extends ActionSupport {
public String forMain() throws Exception {
clearConditions();
return SUCCESS;
}
}




给Action的接口:

public interface IAdjustingAction {
public String forMain() throws Exception;
}




小通知Advice代码:

public class AdjustingAdvice implements MethodBeforeAdvice {
public void before(Method method, Object[] args, Object target)
throws Throwable {
System.out.println("各位,通知一下!!");
}

}









Spring的Bean配置如下:

    <!---->
<bean id="adjustTransactionAction" class="net.jite.sdwzjy.adjust.action.AdjustTransactionAction" singleton="true">
<!---->
&lt;bean id="adjustAdive" class="net.jite.sdwzjy.adjust.advice.AdjustingAdvice"&gt;

&lt;bean id="proxyAdive" class="org.springframework.aop.framework.ProxyFactoryBean"&gt;

    &lt;property name="proxyInterfaces"&gt;
        &lt;value&gt;net.jite.sdwzjy.adjust.advice.IAdjustingAction&lt;/value&gt;
    &lt;/property&gt;

    &lt;property name="interceptorNames"&gt;
        &lt;list&gt;
            &lt;value&gt;adjustAdive&lt;/value&gt;
        &lt;/list&gt;
    &lt;/property&gt;

    &lt;property name="target"&gt;
        &lt;ref bean="adjustTransactionAction"&gt;
    &lt;/property&gt;

&lt;/bean&gt;







如果真要在forMain执行前加个通知的话,建议用webwork的interceptor来实现.

webwork的action好像不是从spring中取出来的bean吧,这样的话,根本就无法在action上添加前置方法。