当前位置: 首页 > news >正文

科讯cms 网站地图中国燃气企业门户

科讯cms 网站地图,中国燃气企业门户,wordpress+培训行业主题,零基础学ps多久可以学会我们可以分成三步来完成jdk动态代理的实现 第一步#xff1a;创建目标对象 第二步#xff1a;创建代理对象 第三步#xff1a;调用代理对象的代理方法 public class Client {public static void main(String[] args) {//创建目标对象final OrderService target new OrderS…我们可以分成三步来完成jdk动态代理的实现 第一步创建目标对象 第二步创建代理对象 第三步调用代理对象的代理方法 public class Client {public static void main(String[] args) {//创建目标对象final OrderService target new OrderServiceImpl();//创建代理对象OrderService proxyObj (OrderService) Proxy.newProxyInstance(target.getClass().getClassLoader(), target.getClass().getInterfaces(), new TImerInvocationHandler(target)); /*{//参数1Object proxy, 代理对象的引用// 参数2Method method, 目标对象上的目标方法// 参数3Object[] args 目标方法上的实参*//* Overridepublic Object invoke(Object proxy, Method method, Object[] args) throws Throwable {//这个接口的目的就是为了让你有地方写增强代码//并且当调用代理对象的代理方法的时候此方法才会被jdk调用。System.out.println(增强1);// method.invoke(target,args );target.generate();System.out.println(增强2);return null;}}*//*);*///调用代理对象的代理方法proxyObj.generate();proxyObj.detail();proxyObj.modify();}}创建代理对象时我们传入的第三个参数就是实现InvocationHandler接口的实现类重写invoke方法就是让我们写增强功能的地方代码如下 public class TImerInvocationHandler implements InvocationHandler {private final OrderService target;public TImerInvocationHandler(OrderService target) {this.target target;}//参数1Object proxy, 代理对象的引用// 参数2Method method, 目标对象上的目标方法// 参数3Object[] args 目标方法上的实参Overridepublic Object invoke(Object proxy, Method method, Object[] args) throws Throwable {//这个接口的目的就是为了让你有地方写增强代码//并且当调用代理对象的代理方法的时候此方法才会被jdk调用。long begin System.currentTimeMillis();Object retvalue method.invoke(target, args);long end System.currentTimeMillis();System.out.println(耗时(end-begin)毫秒);//返回值。这样才能保证目标方法中有返回值的方法在代理对象调用方法时可以拿到返回的值return retvalue;} }在上述操作之前先创建相关类和接口下方为简单示例 //公共接口 public interface OrderService {void generate();void modify();void detail(); } //实现类 public class OrderServiceImpl implements OrderService {Overridepublic void generate() {try {Thread.sleep(456);}catch (InterruptedException e){e.printStackTrace();}System.out.println(订单已生成);}Overridepublic void modify() {try {Thread.sleep(666);}catch (InterruptedException e){e.printStackTrace();}System.out.println(订单已修改);}Overridepublic void detail() {try {Thread.sleep(1000);}catch (InterruptedException e){e.printStackTrace();}System.out.println(订单详情);} }
http://www.pierceye.com/news/268949/

相关文章:

  • html网站标题怎么做的国外免费推广平台有哪些
  • 网站制作com cn域名有什么区别网站制作哪家好
  • 平湖网站设计北京广告公司名录
  • 不良网站进入窗口免费正能量安全的南昌网站制作
  • 商品交换电子商务网站开发网站首页制作公司
  • wordpress全站备份建设网站和推广
  • 广州市官网网站建设哪家好上海营销型网站建设公司
  • 江山网站制作瑞安自适应网站建设
  • 生意网官方网站高端建设网站
  • 公司网站建设南宁腾讯企业邮箱登录入口手机版
  • 简历网站推荐做网站公司是干什么的
  • 网站备案率是什么会展相关app和网站的建设情况
  • 南京网站设计网站建设上海网站域名备案处
  • 做网站市场分析三视觉平面设计网
  • 网站建设中++模板企业网站部署计划
  • 房产部门成立网站wordpress站内搜索次数
  • 网站建设合同管辖地广州敏城建设工程有限公司网站
  • 班级网站主页设计模板购买网站域名空间
  • 做响应式网站最大宽度景观设计公司起名
  • 有小广告的网站适合40岁女人的培训班
  • html5网站建设有什么网站用名字做图片
  • 合肥珍岛公司做网站推广怎么样关键词排名优化如何
  • 做讲课ppt的网站郑州市建设局官方网站
  • 邢台集团网站建设报价免费推广网站有哪些
  • 龙华网站建设营销推广广东东莞区号
  • 徐汇网站开发培训企业建网站报价
  • 专业网站建设公司兴田德润信任高建设高端网站公司哪家好
  • 烟台网站建设优惠臻动传媒做网站怎么挣钱
  • 重庆网站建设mlfartwordpress4 中文
  • 永州建设企业网站阿里云 网站部署