spring 提供了几种不同类型的切点,其中最有用的是正则表达式切点和AspectJ表达式切点
声明正则表达式切点:
SPRING提供了两个实现正则表达式切点的类:
org.spring.framework.aop.support.Perl5RegexpMethodPointcut:用于运行在JAVA1.4以前的程序。
org.spring.framework.aop.support.JdkRegexpMethodPointcut:用于运行在1.5以后的版本。
<bean id="performancePointcut" class="org.springframework.aop.support.JdkRegexpMethodPointcut">
<property name="pattern" value=".*perform">
</bean>
pattern属性用于指定方法匹配所使用的切点模板,他匹配任何类里名为perform()的方法。
然后把他关联到通知中:
<bean id="audienceAdvisor" class="org.springframework.aop.support.DefaultPointcutAdvisor">
<property name="advice" ref="audienceAdvice"/>
<property name="pointcut" ref="performancePointcut"/>
</bean>
DefaultPointcutAdvisor是一个通知者类,他是吧通知关联到一个切点。
另外一种定义方式:
<bean id="audienceAdvisor" class="org.springframework.aop.support.RegexpMethodPointcutAdvisor">
<property name="advice" ref="audienceAdvice"/>
<property name="pattern" value=".*perform"/>
</bean>