spring 为aop提供三中切入点(PointCut)
1.静态切入点 只限于给定的方法和目标类,而不考虑方法的参数。spring在调用静态切入点的时候,只有在第一次的时候计算静态切入点的位置,然后把它放入缓存中。使用RegxpMethodPointcut可以实现静态切入点。
2.动态切入点:与静态切入点的区别是不仅限定于给点的方法和类,还可以指定方法的参数。因为参数变化所以动态切入点不能粗如缓存,需要每次调用的时候都进行计算,性能损耗很大。当切入点需要在执行时根据参数来调用通知时,就需要动态切入点,spring提供内建动态切入点:控制流切入点。此切入点基于当前线程的堆栈。
3.自定义切入点:有待研究