springaop jdk动态代理
时间: 2023-11-07 14:05:57 浏览: 126
Spring-AOP-JDK动态代理
3星 · 编辑精心推荐
Spring AOP使用JDK动态代理和CGLIB代理来实现切面编程。JDK动态代理是基于接口的代理,它只能代理实现了接口的类,而CGLIB代理则可以代理没有实现接口的类。
在Spring AOP中,如果目标对象实现了至少一个接口,则使用JDK动态代理。如果目标对象没有实现任何接口,则使用CGLIB代理。
JDK动态代理是通过反射机制来实现的,它可以在运行时动态地创建代理类和代理对象。当调用代理对象的方法时,实际上是调用了InvocationHandler接口的invoke()方法,该方法会根据方法名和参数列表来调用目标对象的方法。
阅读全文