为了账号安全,请及时绑定邮箱和手机立即绑定

关于jdk 动态代理 如果InvocationHandler中用静态方法有没有什么隐患

关于jdk 动态代理 如果InvocationHandler中用静态方法有没有什么隐患

慕森卡 2018-12-07 04:36:26
class MyInvocationHandler implements InvocationHandler{ private static Service targetService; @Override public Object invoke(Object proxy, Method method, Object[] args) throws Throwable { return null; } public static Service getProxyService(Service target){ targetService = target; ClassLoader contextClassLoader = Thread.currentThread().getContextClassLoader(); Class<?>[] interfaces = targetService.getClass().getInterfaces(); return (Service)Proxy.newProxyInstance(contextClassLoader,interfaces,new MyInvocationHandler()); } }
查看完整描述

1 回答

?
忽然笑

TA贡献1806条经验 获得超5个赞

还是直接用匿名内部类吧
Service proxyInstance = (Service) Proxy.newProxyInstance(target.getClass().getClassLoader(),
target.getClass().getInterfaces(), new InvocationHandler() {
@Override
public Object invoke(Object proxy, Method method, Object[] args) throws Throwable {
if ("add".equals(method.getName())) {
System.out.println("HELLOIDEA");
}
return null;
}
});
proxyInstance.add();

查看完整回答
反对 回复 2018-12-16
  • 1 回答
  • 0 关注
  • 708 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信