java基础 | 动态代理

动态代理

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

实现步骤:

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

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

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

静态代理

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

  1. 创建一个接口,定义实现的方法
  1. 写一个实现类,进行实现这个接口
  1. 代理对象继续实现接口
相关推荐
淘源码A29 分钟前
小微企业SaaS ERP管理系统,SpringBoot+Vue+ElementUI+UniAPP
java·源码·saas·erp·erp系统·erp源码
我是唐青枫31 分钟前
Java 原生异步编程与Spring 异步编程 详解
java
小妖66637 分钟前
vue2 provide 后 inject 数据不是响应式的,不实时更新
java·服务器·前端
zhang238390615444 分钟前
idea如何快速生成测试类
java·ide·intellij-idea
琢磨先生David1 小时前
Java 24:重构数字信任边界 —— 后量子时代的智能安全防御体系构建
java·安全·重构
西京刀客1 小时前
Go多服务项目结构优化:为何每个服务单独设置internal目录?
开发语言·后端·golang
每次的天空1 小时前
Android Handler 机制面试总结
java·开发语言·jvm
举一个梨子zz1 小时前
Java—— 集合 List
java·开发语言·数据结构·intellij-idea
purrrew1 小时前
【Java ee初阶】网络编程 TCP
java·服务器·网络·网络协议·tcp/ip·udp·java-ee
码农飞哥1 小时前
互联网大厂Java求职面试实战:Spring Boot微服务与数据库优化详解
java·spring boot·微服务·mybatis·数据库优化·性能监控·安全框架