spring AOP实现方式
时间: 2024-06-07 22:11:09 浏览: 103
Spring AOP实现
Spring AOP的实现方式主要有两种:基于JDK动态代理和基于CGLIB代理。
1. JDK动态代理
JDK动态代理是通过反射来实现的,它只能对实现了接口的类生成代理对象。在运行时,Spring会根据目标对象实现的接口自动创建代理对象。JDK动态代理主要涉及两个类:InvocationHandler和Proxy。
2. CGLIB代理
CGLIB代理是通过继承来实现的,它可以代理没有实现接口的类。在运行时,Spring会通过CGLIB动态生成一个子类来作为代理对象。CGLIB代理主要涉及两个类:MethodInterceptor和Enhancer。
无论是JDK动态代理还是CGLIB代理,在Spring中都需要使用AspectJ注解或XML配置来声明切面和通知。
阅读全文