spring aop 定义切点和通知者

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>

 

你可能感兴趣的:(spring,AOP,bean,正则表达式)