zl程序教程

您现在的位置是:首页 >  后端

当前栏目

Java Proxy 和 CGLIB 动态代理原理

JAVA代理原理 动态 Proxy cglib
2023-09-27 14:23:02 时间


动态代理在Java中有着广泛的应用,比如Spring AOP,Hibernate数据查询、测试框架的后端mock、RPC,Java注解对象获取等。静态代理的代理关系在编译时就确定了,而动态代理的代理关系是在运行期确定的。静态代理实现简单,适合于代理类较少且确定的情况,而动态代理则给我们提供了更大的灵活性。今天我们来探讨Java中两种常见的动态代理方式:JDK原生动态代理和CGLIB动态代理。

JDK原生动态代理

先从直观的示例说起,假设我们有一个接口Hello和一个简单实现HelloImp:

// 接口

interface Hello{
   

    String sayHello(String str);