一、动态代理
动态代理指的是:在程序的执行过程中,使用jdk的反射机制,创建代理对象,并动态的指定代理的目标类,(就相当于明星的经纪人一样,或者是被告找律师)。
- 动态代理的实现方式常用有两种:
- 使用JDK代理
- 通过CDLIB代理
优点
- java动态代理的优势是实现无侵入式的代码扩展也就是方法的增强;
- 让你可以在不用修改源码的情况下,增强一些方法;
二、AOP
AOP,即面向切面编程,是一种编程范式,它通过将横切关注点(如日志、事务、安全等)与业务逻辑分离,从而实现代码的模块化和可维护性。在Java中,AOP由Spring框架提供支持,下面我们来详细了解一下。
Spring中的AOP是基于动态代理实现的,即 JDK动态代理和Cglib动态代理。
将代码切割开来,插入方法,所以说的是面向切面编程
1. AOP的核心概念
- 切面(Aspect):封装横切关注点的模块。在AOP中,一个