带有横切逻辑的实例:

clipboard.png

clipboard.png

clipboard.png

clipboard.png

clipboard.png

clipboard.png

JDK自带的动态代理

clipboard.png

clipboard.png

clipboard.png

clipboard.png

clipboard.png

clipboard.png

CGLib代理

clipboard.png

clipboard.png

clipboard.png

clipboard.png

clipboard.png

CGLib与JDK代理的性能对比:
CGLib所创建的动态代理是JDK代理的10被左右,但是CGLib在创建代理对象时所化的时间是JDK代理的8倍左右。

AOP概念:
连接点(JoinPoint):程序执行的某一个特定的位置。Spring仅仅支持方法的连接点,及仅能在方法前、方法调用后、方法抛出异常这些点织入增强。
切点(pointcut):每一个类拥有多个连接点,如一个类拥有多个方法,AOP正是通过这个切点来定位特定的连接点。
增强(advice):增强是织入到目标类连接点上的一段代码。Spring所提供的增强接口都是带有方位名字的:如beforeAdvice、AfterReturningAdvice等,所以只有结合切入点和增强两者一起才能在某一个特定的连接点实现逻辑增强。
目标对象(Target):增强逻辑织入的目标类。
引介(introduction):引介是一种特殊的增强,它为类添加一些属性和方法。
织入(weaving):织入是将增强添加到目标类具体连接点的过程。


雨露
98 声望16 粉丝