2.3 动态代理
Spring中AOP的拦截功能就是使用Java中的动态代理实现的。也就是在被代理类(方法)的基础上增加切面逻辑,生成代理类(方法)。切面的逻辑可以在目标类函数执行之前或者执行之后,或者在目标函数抛出异常的时候执行,则需要重写不同的方法。在本节中对于Spring中的AOP不进行过多的讲解。接下来详细讲解Java中的动态代理。
2.3.1 理解动态代理
为了更方便读者理解,在介绍之前,先介绍一下几个本文关于代理的名词。
- 委托类 - 被代理的类(也可以叫目标类)
- 代理类 - 进行代理的类
- 消费类 - 调用代理类的类
在理解动态代理之前,我想给大家介绍一下静态代理。很容易理解,静态,也就是代理类在程序运行之前就已经确定的,那么对该类进行代理的方式,即可称为静态代理。
一般情况下,静态代理中的代理类和委托类都会继承相同的父类或者实现相同的接口。
更多内容请查看原文地址:
https://chenhx.blog.csdn.net/article/details/107964007