java之反射(RPC中应用demo)

来源:互联网 发布:sql按周统计数据 编辑:程序博客网 时间:2024/06/09 16:28

关联文章:

《白话动态代理》

RPC和动态代理中  经常用到反射,反射就相当于解剖,根据一些jdk提供的方法,类里面的方法,成员变量,构造函数,继承的接口或者类  都可以拿到。

反射方式总结:

1、Class c1 = Class.forName(“Employee”)

2、Class c2 = Employee.class

3、Employee e = new Employee()

   Class c3 = e.getClass()

 

rpc框架源码中经常用到,根据客户端的请求 :接口名称(interface)、方法名称(method)、参数类型(paramtype)、参数(params),进行反射,demo代码如下:

 

String className = request.getClassName();

Class<?> c = Class.forName(“className”);

Object serviceBean = c.newInstance();

 

String methodName = request.getMethodName();

Class<?> paramTypes = request.getParamTypes();

Object[] params = request.getParams();

 

Method method = c.getMethod(methodName, paramTypes);

method.invoke(serviceBean , params);


原创粉丝点击