目录
一、AOP的入门
1.什么是 AOP
2.应用场景
性能监控(代码执行前加一个时间,运行后加一个时间)
3.spring底层实现方法
代理机制: * Spring 的 AOP 的底层用到两种代理机制:
* JDK 的动态代理 :针对实现了接口的类产生代理.
* Cglib 的动态代理 :针对没有实现接口的类产生代理. (类似与Javassit)应用的是底层的字节码增强的技术 生成当前类 的子类对象.(不可用final)
Spring 如果实现接口默认用JDK 没有实现接口就用Cglib
(1)JDK的动态代理:
调用被实现类的任何方法都相当于调invoke中的方法
invoke 方法的参数
代理对象,正在执行的方法,方法参数
return method.invoke(userDao,args)
method代表代理对象中有的方法
要代理的对象,参数
解释:
本类直接实现的InvocationHandler接口所以直接用this就行 代表JdkProxy对象
调用被实现类的任何方法都相当于调invoke中的方法
(2)Cglib的动态代理: