java基础 | 动态代理

动态代理

简而言之就是:首先创建一套动态代理的规则,创建好自己的接口,和实现类,在调用时直接调用(缺少什么参数,补充哪个参数!)

实现步骤:

  1. 设计动态代理的规则 (实现**InvocationHandler**接口,重写invoke方法)

    1. 定义一个有参构造方法,用于接收要执行 的方法(对象)
    2. 执行真实的业务场景使用method.invoked("哪个对象方法",arges)
    3. method.invoked()的前后补充需要的扩展项目
  2. 定义真实的接口(userService)

  1. 定义接口的实现类,实现之后直接重写方法。
  1. 测试类中,创建动态代理(类加载器,接口数组,刚刚创建的动态代理执行逻辑)

静态代理

简而言之就是:创建一个接口,创建一个实际的接口实现类,在里面实现具体的方法,创建一个代理的实现类,在里面(创建实际的实现类对象之后)调用实际的业务,然后再上下加上自己需要的拓展公共逻辑。

  1. 创建一个接口,定义实现的方法
  1. 写一个实现类,进行实现这个接口
  1. 代理对象继续实现接口
相关推荐
阿方.9183 小时前
《数据结构全解析:栈(数组实现)》
java·开发语言·数据结构
YC运维3 小时前
Ansible题目全解析与答案
java·算法·ansible
程序员清风4 小时前
贝壳一面:年轻代回收频率太高,如何定位?
java·后端·面试
考虑考虑4 小时前
Java实现字节转bcd编码
java·后端·java ee
软件开发-NETKF88884 小时前
JSP到Tomcat特详细教程
java·开发语言·tomcat·jsp·项目运行
渣哥4 小时前
为什么 JDK 1.8 要给 HashMap 加红黑树?
java
我登哥MVP4 小时前
Java 网络编程学习笔记
java·网络·学习
AAA修煤气灶刘哥4 小时前
ES 聚合爽到飞起!从分桶到 Java 实操,再也不用翻烂文档
后端·elasticsearch·面试
大厂码农老A4 小时前
面试官:“聊聊你最复杂的项目?” 为什么90%的候选人第一句就栽了?
java·面试
爱读源码的大都督4 小时前
Java已死?别慌,看我如何用Java手写一个Qwen Code Agent,拯救Java
java·人工智能·后端