使用正则表达式定义Spring切入点

我们在使用通配符定义切入方法未免不够灵活,spring为我们提供了使用正则表达式定义切入点的方法,且有两个特点

1.更加灵活

2.可以对包括包名和类名

需要注意的是,使用RegexpMethodPointcut,必须在classpath中加入jakarta.common.ORO类库

大部分代码和http://blog.csdn.net/daryl715/archive/2007/05/20/1618292.aspx这边文章类似,不同的就是spring配置文件

  < bean  id ="shoppingPointCutAdvisor"  class ="org.springframework.aop.support.RegexpMethodPointcutAdvisor" >
    
< property  name ="pattern" >
       
< value > .*sell.+ </ value >
    
</ property >
    
< property  name ="advice" >
         
< ref  bean ="shoppingAdvise" />
     
</ property >
</ bean >

 

这是使用正则表达式定义切入点不同之处

其中.*sell.+表示可以是任何包的以sell开头的,后面至少有一个字符的方法

 

比如Test.sel

< bean  id ="shoppingAdvise"  class ="StaticAdvisorTest.WelcomeAdvice" ></ bean >

<!--  使用正则表达式 
<bean id="shoppingPointCutAdvisor" class="org.springframework.aop.support.RegexpMethodPointcutAdvisor">
  <property name="pattern">
    <value>.*sell.+</value>
  </property>
......
</bean>


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