JAVA分享篇(30)基础知识大总结

该文章展示了如何使用Java的动态代理(Proxy)类创建RPC客户端,通过`RpcProxy`类动态生成实现了特定接口(如ShopService)的代理对象,调用远程服务的方法,如`getShopInfoById`。
摘要由CSDN通过智能技术生成

RPC动态代理类

package cn.itsource.consumer;

import java.lang.reflect.Proxy;

/**
* @author : pankun
* @Version : 1.0
**/
public class RpcProxy {

   public static <T> T invoke(Class<T> clazz){
       Class<?> [] interfaces = clazz.isInterface() ?
               new Class[]{clazz} :
               clazz.getInterfaces();
      T result = (T) Proxy.newProxyInstance(clazz.getClassLoader(),interfaces,new RpcClient(clazz));
      return result;
  }

}

客户端启动类

package cn.itsource.consumer;

import cn.itsource.provider.ShopService;

/**
* @author : pankun
* @Version : 1.0
**/
public class IRpcConsumer {

   public static void main(String[] args) {
       ShopService invoke1 = RpcProxy.invoke(ShopService.class);
       System.out.println(invoke1.getShopInfoById(1));
       System.out.println(invoke1.getShopInfoById(2));
       System.out.println(invoke1.getShopInfoById(3));
  }
}

免责声明:部分文章信息来源于网络以及客户意见反馈,本站只负责对文章进行整理、排版、编辑,出于传递更多信息之目的,并不意味着赞同其观点或证实其内容的真实性,如本站文章和转稿涉及版权等问题,请作者在及时联系本站,我们会尽快联系您处理

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值