aop获取接口参数

package cn.dw.hy.util;

import java.util.Arrays;

import org.aspectj.lang.JoinPoint;
import org.springframework.beans.factory.annotation.Autowired;

import cn.dw.hy.mapper.UserMapper;
import cn.dw.hy.model.MethodsValues;

public class AopClass {

/* public void counts(JoinPoint jp) {

}*/
@Autowired
private UserMapper userMapper;

public UserMapper getUserMapper() {
return userMapper;
}

public void setUserMapper(UserMapper userMapper) {
this.userMapper = userMapper;
}
public void logs(JoinPoint jp) { // Joinpoint就是被切的方法,通过被切的方法可以获取参数信息,和方法信息
System.out.println("日志入库........");
System.out.println("被切的目标对象:" + jp.getTarget());
System.out.println("被切的方法声明:" + jp.getSignature().toString());
System.out.println("被切的方法的参数信息:" + Arrays.toString(jp.getArgs()));
// String str = "User cn.dw.hy.service.UserService.queryUser(String,String)";
String[] arr1 = jp.getSignature().toString().replace(".","/").split("/");
// System.out.println(arr1[arr1.length-1]);
MethodsValues mv=new MethodsValues();
mv.setMethodName(arr1[arr1.length-1]);
userMapper.counts(mv);
}

public void ex(Exception e) { // e与xml中指定的名称要相匹配
System.out.println("异常处理==>" + e);
}
}

posted @ 2018-09-07 16:32  鱼丸1993  阅读(2029)  评论(0编辑  收藏  举报