java基础之---动态代理

发布时间:2024年01月05日

1、代理是什么?

在不改变源代码的情况下,对类进行了功能等扩展。在代理类的前后方法添加任何你想要添加的内容。

2、静态代理跟动态代理区别

静态代理是在编译期确定。
动态代理需要在运行期确定的。反射是动态代理的一种。经常被用在框架中,比如spring的AOP、servlet的filter等。

3、动态代理分为2类
jdk动态代理

1、介绍
是通过反射来接受被代理的类。
要求:被代理类必须实现一个接口。
核心是invocationHandler接口和Proxy类

关键代码是:Proxy.newProxyInstance(三个参数)

cglib动态代理

不需要一个实现的接口,底层采用Enhancer,在运行期动态生成一个子类。
注意:final类不能用cglib动态代理,因为final是不能再被继承的,不能有子类。
Enhancer.create(两个参数);

文章来源:https://blog.csdn.net/tuantuanyua/article/details/135415458
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。