惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

爱范儿
爱范儿
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
罗磊的独立博客
大猫的无限游戏
大猫的无限游戏
人人都是产品经理
人人都是产品经理
博客园 - 司徒正美
Apple Machine Learning Research
Apple Machine Learning Research
Microsoft Security Blog
Microsoft Security Blog
IT之家
IT之家
M
MIT News - Artificial intelligence
S
SegmentFault 最新的问题
H
Hackread – Cybersecurity News, Data Breaches, AI and More
AI
AI
I
InfoQ
博客园_首页
T
Threatpost
Know Your Adversary
Know Your Adversary
T
Tenable Blog
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
NISL@THU
NISL@THU
V
Vulnerabilities – Threatpost
The Hacker News
The Hacker News
N
News and Events Feed by Topic
O
OpenAI News
Exploit-DB.com RSS Feed
Exploit-DB.com RSS Feed
TaoSecurity Blog
TaoSecurity Blog
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
Spread Privacy
Spread Privacy
W
WeLiveSecurity
Hacker News - Newest:
Hacker News - Newest: "LLM"
K
Kaspersky official blog
www.infosecurity-magazine.com
www.infosecurity-magazine.com
T
Troy Hunt's Blog
Help Net Security
Help Net Security
Hacker News: Ask HN
Hacker News: Ask HN
C
CERT Recently Published Vulnerability Notes
H
Heimdal Security Blog
A
About on SuperTechFans
The Last Watchdog
The Last Watchdog
腾讯CDC
Jina AI
Jina AI
Schneier on Security
Schneier on Security
T
Threat Research - Cisco Blogs
Security Latest
Security Latest
Recorded Future
Recorded Future
量子位
有赞技术团队
有赞技术团队
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org

博客园 - 走到天亮

设计模式之“适配器模式” 设计模式之“门面模式” 设计模式之“抽象工厂模式” 设计模式之“单例模式” 设计模式之“代理模式” 设计模式之“策略模式” 《C# to IL》第三章 选择和循环 《C# to IL》第二章 IL基础 《C# to IL》第一章 IL入门 淘宝下单高并发解决方案(转载) java linux 配置环境 Spring Aop之(二)--Aop 切面声明和通知 Spring aop Spring BeanNameAutoProxyCreator 与 ProxyFactoryBean CentOS的IP配置专题 Spring Bean属性绑定Bean返回值 【阿里的感悟】质量该如何做? .(转载) Ubuntu开机自动启动script(2) Ubuntu开机自动启动Script
Spring RegexpMethodPointcutAdvisor和NameMatchMethodPointcutAdvisor
走到天亮 · 2012-08-14 · via 博客园 - 走到天亮

Spring AOP中有两个PointcutAdvisor

      ——RegexpMethodPointcutAdvisor和 NameMatchMethodPointcutAdvisor,它们都在org.springframework.aop.support包中,

都可以过滤要拦截的方法,配置方法也大致相同,其中一个最主要的区别:

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

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

1.RegexpMethodPointcutAdvisor

    <!--  将拦截器包装成Advisor-->
       <bean id="runAdvisor" class="org.springframework.aop.support.RegexpMethodPointcutAdvisor">
      <!--  advice属性确定处理bean-->
      <property name="advice">
       <bean class="spring.aop.LoggerAdvice"/>
      </property>
      <property name="patterns">
       <list>
        <!--正则表达式-->
        <value>.*tst</value>
       </list>
      </property>
     </bean>
     
    <bean id="proxyBean_regexpMethod"  class="org.springframework.aop.framework.ProxyFactoryBean">
    <property name="proxyInterfaces" value="spring.aop.ITest">
    </property>
    <property name="interceptorNames">
    <list>
    <value>runAdvisor</value>
    </list>
    </property>
    <property name="target" ref="testproxyfactorybean"></property>
    </bean>

 2.NameMatchMethodPointcutAdvisor

    <!--  将拦截器包装成Advisor,该对象还确定代理对怎样的方法增加处理-->
       <bean id="runAdvisor_Name" class="org.springframework.aop.support.NameMatchMethodPointcutAdvisor">
      <!--  advice属性确定处理bean-->
      <property name="advice">
       <!-- 此处的处理bean定义采用嵌套bean,也可引用容器的另一个bean-->
       <bean class="spring.aop.LoggerAdvice"/>
      </property>
      <!--  patterns确定正则表达式模式-->
      <property name="mappedNames">
       <list>
        <!--  确定正则表达式列表-->
        <value>tst</value>
       </list>
      </property>
     </bean>