Spring 拦截器
用拦截器拦截一个类里面的方法。比如EmployeeDaoImpl()逻辑业务类里有addEmp(),delEmp(),findEmp(),editEmp().几个方法.我...
用拦截器拦截一个类里面的方法。
比如EmployeeDaoImpl() 逻辑业务类里有addEmp(),delEmp(),findEmp(),editEmp().几个方法.我想通过拦截器 拦截每次执行的方法,
然后取得唆执行方法的方法名,请问应该怎么样实现?
请老鸟指教下. 展开
比如EmployeeDaoImpl() 逻辑业务类里有addEmp(),delEmp(),findEmp(),editEmp().几个方法.我想通过拦截器 拦截每次执行的方法,
然后取得唆执行方法的方法名,请问应该怎么样实现?
请老鸟指教下. 展开
2个回答
展开全部
这个你用动代代理一下就能解决问题了
public class LogInterceptor implements InvocationHandler {
private Object target;
public Object getTarget() {
return target;
}
public void setTarget(Object target) {
this.target = target;
}
public void beforeMethod(Method m) {
System.out.println(m.getName() + " start");
}
public Object invoke(Object proxy, Method m, Object[] args)
throws Throwable {
beforeMethod(m);
m.invoke(target, args);
return null;
}
}
public class LogInterceptor implements InvocationHandler {
private Object target;
public Object getTarget() {
return target;
}
public void setTarget(Object target) {
this.target = target;
}
public void beforeMethod(Method m) {
System.out.println(m.getName() + " start");
}
public Object invoke(Object proxy, Method m, Object[] args)
throws Throwable {
beforeMethod(m);
m.invoke(target, args);
return null;
}
}
Storm代理
2023-07-25 广告
2023-07-25 广告
StormProxies是一家国内的优质海外HTTP代理服务提供商,以下是有关日本原生IP的一些信息:* 优势:StormProxies的IP覆盖全球200+的国家与地区,IP超过5000万个,支持HTTP、HTTPS以及SOCKS5协议。...
点击进入详情页
本回答由Storm代理提供
展开全部
@Aspect
public class Foo{
//需要完整类名,包括包
@Pointcut("execution(* EmployeeDaoImpl.*(..))")
public void employeeDaoInvoking(){}
@Around("employeeDaoInvoking")
public void foo(ProceedingJoinPoint pjp){
String methodName = pjp.getSignature().getName();
...
}
}
public class Foo{
//需要完整类名,包括包
@Pointcut("execution(* EmployeeDaoImpl.*(..))")
public void employeeDaoInvoking(){}
@Around("employeeDaoInvoking")
public void foo(ProceedingJoinPoint pjp){
String methodName = pjp.getSignature().getName();
...
}
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询