Spring的切入点(二 静态Pointcut的例子) - 编程入门网
amework.org/schema/beans/spring-beans-2.5.xsd">
<bean id="Computer" class="aop.test.People"></bean>
<bean id="LogerComputer" class="aop.test.LogerPeople" />
<bean id="ProxyFactoryBean"
class="org.springframework.aop.framework.ProxyFactoryBean">
<property name="target">
<ref bean="Computer" />
</property>
<property name="interceptorNames">
<list>
<value>DefaultAdvisor</value>
</list>
</property>
</bean>
<bean id="DefaultAdvisor"
class="org.springframework.aop.support.DefaultPointcutAdvisor">
<property name="pointcut" ref="JdkRegexpPointcut" />
<property name="advice" ref="LogerComputer" />
</bean>
<bean id="JdkRegexpPointcut"
class="org.springframework.aop.support.JdkRegexpMethodPointcut">
<property name="patterns">
<list>
<value>.*spea.*</value>
<value>.*ing</value>
<value>.*di.*</value>
</list>
</property>
<property name="excludedPattern" value=".*Run.*" />
</bean>
</beans>
为了让ProxyFactoryBean使用我们定义的JdkRegexpMethodPointcut而不是默认的Pointcut,我们需要配置一个切入点配置器PointcutAdvisor,其advice属性指定装备,Pointcut属性指定切入点。然后再将该切入点配置器注入给ProxyFactoryBean。各个Bean的依赖关系和说明如下: 图4.4 ProxyFactoryBean代理生成 Spring的切入点(二 静态Pointcut的例子)(4)时间:2011-09-24 残梦追月在JdkRegexpMethodPointcut中,我们使用了它两个属性patterns和excludedPattern:patterns利用正则表达式指定了我们要监视的方法这里是包含了所有的方法;excludedPattern指定了我们要排除的方法,这里指定了以Run开头的方法。 注意: 1)“.*spea.*”表示所有名字以spea开头的方法,例程中是指speak方法; 2)“.*ing”表示所有名字以ing结束的方法,例程中是指Running和Loving方法; 3)“.*di.*”表示所有名字以di开头的方法,例程中是指died方法; 4)“.*Run.*”表示所有名字以Run开头的方法,例程中是指Running方法; 创建含主方法的测试类TestMain,在一种我们从ProxyFactoryBean中获得People实例对象,并一次调用该对象的方法,代码如下: 代码 |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |