1.背景:在AOP中进行方法的执行监控往往可能会需要获取方法的方法名和方法值,来记录方法的调用情况。
2.实现:
MethodSignature signature = (MethodSignature) joinPoint.getSignature(); Method method = signature.getMethod();
// 请求的方法参数值 Object[] args = joinPoint.getArgs(); // 请求的方法参数名称 LocalVariableTableParameterNameDiscoverer u = new LocalVariableTableParameterNameDiscoverer(); String[] paramNames = u.getParameterNames(method); if (args != null && paramNames != null) { String params = ""; for (int i = 0; i < args.length; i++) { params += " " + paramNames[i] + ": " + args[i]; } }