有这样一个方法void abc(String aa , AdminInfo adminInfo)
利用spring的aop怎么样获得方法中的aa和adminInfo?(也就是说在后置方法中怎么使用那两个参数)
要求:不能动原来的方法(void abc)

解决方案 »

  1.   

    利用aop的前置通知再加上反射原理,是可以实现的
      

  2.   

    public class LogAround implements MethodInterceptor {
    private Logger logger = Logger.getLogger(this.getClass().getName()); 
    @Override
    public Object invoke(MethodInvocation mi) throws Throwable {
    // TODO Auto-generated method stub
    logger.log(Level.INFO, mi.getArguments()[0] + " 审核数据开始....");//这地方即可获得即传递的参数
    try { 

              Object result = mi.proceed();            //返回值即是被调用的方法的返回值           return result;          } finally {            logger.log(Level.INFO, mi.getArguments()[0] + " 审核数据结束....");         }      }    
    }