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

上海网站设计kinglink申请一个电子邮箱号

上海网站设计kinglink,申请一个电子邮箱号,做计量检定的网站,机械做网站Java动态代理是一种在运行时动态创建代理对象的技术。它可以让我们在不修改原始代码的情况下,对原始对象进行增强或者添加额外的行为。这种代理方式可以用于很多场景,例如AOP编程、RPC框架等。动态代理是基于Java反射机制实现的,它允许程序在…

Java动态代理是一种在运行时动态创建代理对象的技术。它可以让我们在不修改原始代码的情况下,对原始对象进行增强或者添加额外的行为。这种代理方式可以用于很多场景,例如AOP编程、RPC框架等。动态代理是基于Java反射机制实现的,它允许程序在运行时动态地获取类的信息,并且可以在运行时动态地创建对象、调用方法等。


首先需要准备一个接口和实体类

public class Student {private DoSomeThing doSomeThing;// ...省略 Getter 和 Setter
}
public interface DoSomeThing {default void eat() {System.out.println("吃\n");}default void drink() {System.out.println("喝\n");}default void run() {System.out.println("跑\n");}}

接着就可以来对 Student 实体类中的 DoSomeThing 接口进行动态代理了:

    public static void main(String[] args) throws Exception {Student student = new Student();student.setDoSomeThing(new DoSomeThing() {});hookStudent(student);student.getDoSomeThing().eat();student.getDoSomeThing().drink();student.getDoSomeThing().run();}private static void hookStudent(Student student) throws Exception {Class studentClass = student.getClass();Field field = studentClass.getDeclaredField("doSomeThing");field.setAccessible(true);Object doSomeThingObj = field.get(student); // 接口实体,后面用来保证 代理后能执行原本的方法Object proxy = Proxy.newProxyInstance(Thread.currentThread().getContextClassLoader(),new Class[]{DoSomeThing.class},  // 代理目标类,要求是未实现的接口,否则会报错new InvocationHandler() {@Overridepublic Object invoke(Object proxy, Method method, Object[] args) throws Throwable {// 代理成功后,每调用一次接口函数都会走一遍 invoke()// 且携带方法信息和方法参数,这样子就可以对 指定方法 做判断和处理了System.out.println("调用invoke函数");return method.invoke(doSomeThingObj, args); // 执行原本的方法}});field.set(student, proxy);  // 将实体类中的 接口对象 替换为 代理对象}

首先初始化了 实体类(Student)和接口参数,再对 实体类 中的接口参数进行 动态代理 ,俗称AOP切面编程。代理后每使用一次接口参数中的方法就会调用一次invoke方法, invoke 方法中携带了方法和参数信息,开发者可以对此进行 条件判断和处理。最后,执行接口原来的方法。


执行结果:

http://www.yayakq.cn/news/389141/

相关文章:

  • 福建工程建设管理中心网站网站后台管理系统的主要功能
  • 济南网站系统优化代理网络手游
  • 好网站推理微信网页版官网二维码
  • 开业时网站可以做哪些活动吗专业简历制作网站推荐
  • 蚌埠市建设管理局官方网站中国建设银行网站的发展
  • logo网站设计论文凡客诚品倒闭了吗知乎
  • 百度投诉中心电话24个小时青岛优化网站多少钱
  • 永州做网站的公司安陆网站设计
  • 二手图书交易网站建设南通网站排名优化报价
  • 手机端网站的区别做的网站怎么把技术支持去掉
  • 企业自己如何做网站推广建设购物网站流程
  • 网站排名优化技巧制作企业网站页面实训项目
  • 宁波做网站首荐荣盛网络t恤定制网站哪个好
  • 公司的 SEO与网站建设wordpress备份文件
  • 建网站免费网站建设要多久的
  • 成都建设网官方网站宁波网站设计服务
  • 免费seo网站自己设计一款新产品
  • 众筹网站开发需求爱企业 查询
  • 成都网站设计与制作网络营销方式使用情况数据
  • 松江网站建设平台宝塔建站系统
  • 网站建设采取招标的形式网站建设与管理的考试
  • 腾讯云做网站需要报备软件商店安装app
  • 建设网站本地调试深圳 网站定制
  • 网站文章好几天不收录建设工程类网站
  • ppt模板免费下载 素材医疗网站制作和优化
  • 网站建设包括哪些方面丰台企业网站建设
  • 收废品做网站文档分享类网站建设
  • 成都高端网站设计公司建设局官网查询
  • 科技部网站方案酷家乐软件培训班
  • 电商网站建设目标分析的方法百度商桥的代码放到网站里