java基础 | 动态代理

动态代理

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

实现步骤:

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

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

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

静态代理

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

  1. 创建一个接口,定义实现的方法
  1. 写一个实现类,进行实现这个接口
  1. 代理对象继续实现接口
相关推荐
想用offer打牌5 分钟前
一站式了解BASE理论
后端·面试·架构
zyjyyds1135 分钟前
PTA-根据已有类Worker,使用LinkedList编写一个WorkerList类,实现计算所有工人总工资的功能。
java
白日依山尽yy12 分钟前
MyBatis03——SpringBoot整合MyBatis
spring boot·后端·mybatis
怡人蝶梦22 分钟前
Java大厂后端技术栈故障排查实战:Spring Boot、Redis、Kafka、JVM典型问题与解决方案
java·jvm·redis·elk·kafka·springboot·prometheus
熬夜苦读学习42 分钟前
日志与策略模式
linux·运维·开发语言·后端·策略模式
martinzh1 小时前
Spark-TTS: AI语音合成的"变声大师"
后端
wwwzh1 小时前
商品推荐系统
后端
失乐园1 小时前
事务王国生存指南:隔离级别与锁实现的降维打击
java·后端·面试
棠十一1 小时前
nacos Sentinel zipkin docker运行
java·开发语言·eureka
失乐园1 小时前
从数据混乱到完美一致:分布式事务的十八般武艺全解析
java·后端·面试