Spring 的静态切入点因为只在代理创建的时候执行一次而不是在运行期间每次目标方法的调用而执行,所以静态切入点的性能较好。是首选的切入点方式。Spring 为开发者方便的创建自定义的静态切入点提供了方便的父类——StaticMethodMatcherPointcut,我们只需实现父类的isMatch 方法便可。当然Spring 也提供了现有静态切入点。
NameMatchMethodPointcut 类是根据匹配调用方法的方法名来,将通知织入到匹配的方法中。通过NameMatchMethodPointcut 类我们可以对目标方法进行有选择的织入通知,而不再是将通知织入给所有的方法。但是如果我们想更加细致控制控制点的话,可以通过RegexpMethodPointcutAdvisor 类。
RegexpMethodPointcutAdvisor 类是使用正则表达式来进行匹配方法,因为它可更加细致的控制切入点。其他方面和NameMatchMethodPointcut 类没有什么区别。只是属性不同而已。NameMatchMethodPointcut 类由mappedName 属性设置匹配方法,RegexpMethodPointcutAdvisor 类则由pattern 属性设置。
由于Spring 提供的静态切入点使用非常的简便,这里便不举例说明了。