aop底层采用动态代理机制实现的:接口+实现类
- 如果要代理的对象,实现了某个接口,那么Spring AOP会使用 JDK Proxy ,去创建代理对象。
- 没有实现接口的对象,就无法使用 JDK Proxy 去进行代理了,这时候Spring AOP会使用CGLIB生成一个被代理对象的子类来作为代理。
CGLIB与JDK动态代理详情点击:《CGLIB与JDK动态代理》
就是由代理创建出一个和impl实现类平级的一个对象,但是这个对象不是一个真正的对象,只是一个代理对象,但它可以实现和impl相同的功能,这个就是aop的横向机制原理,这样就不需要修改源代码。

评论区 1