Spring AOP 底层原理
时间: 2023-08-23 18:48:32 浏览: 131
springIOC及AOP底层原理Demo实现
Spring AOP 的底层原理是基于动态代理技术和字节码生成技术实现的。
在 Spring AOP 中,通常使用 JDK 动态代理或者 CGLIB 字节码生成技术来生成代理对象。当目标对象被代理时,Spring AOP 将对切面所提供的通知进行拦截,并在目标对象的方法执行前、执行后或者发生异常时执行这些通知。
具体来说,当使用 JDK 动态代理时,Spring AOP 将为目标对象创建一个实现了目标对象所实现接口的代理对象。当方法被调用时,代理对象将拦截这个方法调用,并将请求转发给切面所提供的通知。当使用 CGLIB 字节码生成技术时,Spring AOP 将为目标对象创建一个继承自目标对象的子类,并重写其中的方法。当方法被调用时,子类将拦截这个方法调用,并将请求转发给切面所提供的通知。
总之,Spring AOP 的底层原理是基于动态代理技术和字节码生成技术实现的,通过拦截目标对象的方法调用,来实现对切面所提供的通知的执行。
阅读全文