`
xiefeifeihu
  • 浏览: 99644 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

RegexpMethodPointcutAdvisor和NameMatchMethodPointcutAdvisor的区别

阅读更多

Spring AOP中有两个PointcutAdvisor——RegexpMethodPointcutAdvisor和NameMatchMethodPointcutAdvisor,它们都在org.springframework.aop.support包中,都可以过滤要拦截的方法。配置方法也大致相同,其中一个最主要的区别是——

RegexpMethodPointcutAdvisor:需要加上完整的类名和方法名,例如:com.xw.methodname或com.*.methodname或.*methodname。

NameMatchMethodPointcutAdvisor:只需要方法名,不用加类名:*methodname。

配置文件如下:

 1:  <bean id="regexp_pointcut"
 2:      class="org.springframework.aop.support.RegexpMethodPointcutAdvisor">
 3:      <property name="advice">
 4:          <ref local="advice" />
 5:      </property>
 6:      <property name="patterns">
 7:          <list>
 8:              <value>com.xw.addAll</value>
 9:              <value>com.xw.set</value>
10:          </list>
11:      </property>
12:  </bean>
13:  <bean id="namematch_pointcut"
14:      class="org.springframework.aop.support.NameMatchMethodPointcutAdvisor">
15:      <property name="advice">
16:          <ref local="advice" />
17:      </property>
18:      <property name="mappedNames">
19:          <list>
20:              <value>add*</value>    
21:          </list>
22:      </property>
23:  </bean>
分享到:
评论
1 楼 sundongyadh 2014-11-19  
  简单明了。

相关推荐

    spring学习笔记2

    10. **预定义Pointcut Advisor**:Spring提供了几种预定义的Pointcut Advisor,如`NameMatchMethodPointcutAdvisor`和`RegexpMethodPointcutAdvisor`,它们分别基于方法名匹配和正则表达式来确定切入点。 11. **...

    spring

    - **RegexpMethodPointcutAdvisor**:使用正则表达式来匹配方法名。例如,所有包含`method`字符串的方法将被匹配,这为更复杂的匹配规则提供了灵活性。 #### 动态切入点 - **ControlFlowPointcut**:基于控制流的...

    spring 的自动代理

    4. **Bean `advisor`** - 这是一个 `RegexpMethodPointcutAdvisor`,它结合了切点(Pointcut)和 Advice。`pattern` 属性用于指定哪些方法应该被拦截,这里使用通配符 `.*.*` 表示匹配所有方法。`advice` 属性引用了...

    开源框架 Spring Gossip

    NameMatchMethodPointcutAdvisor RegExpMethodPointcutAdvisor ControlFlowPointcut Pointcut 介面 Pointcut 交集、联集操作 Introduction 为特殊的 Advice,它影响的不是方法的流程,...

    SPRING API 2.0.CHM

    NameMatchMethodPointcutAdvisor NameMatchTransactionAttributeSource NamespaceHandler NamespaceHandlerResolver NamespaceHandlerSupport NativeJdbcExtractor NativeJdbcExtractorAdapter ...

    spring拦截器的简单例子.docx

    &lt;bean id="puradvice" class="org.springframework.aop.support.RegexpMethodPointcutAdvisor"&gt; *logincheck.*"/&gt; ``` 最后,`autoproxy` Bean 是一个自动代理创建器,它会为 `purviewimpl` 这个 ...

Global site tag (gtag.js) - Google Analytics