Spring学习笔记系列(六) aop

实践了《指南》中的例子165页到169页,最后补充一个Action,
public class AOPMethodCostTimeAction extends ActionSupport {

 public ActionForward execute(ActionMapping mapping, ActionForm form,
   HttpServletRequest request, HttpServletResponse response)
   throws Exception {
  WebApplicationContext wac = this.getWebApplicationContext();
  ITest dao =(ITest)wac.getBean("myAOPProxyFactory");
  dao.doTest();
  dao.executeTest();
  return mapping.findForward("success");
 }

}
具体代码已经放到gmail邮箱了。

仅仅从这个例子总结一下:

1,配置文件中需要
<!-- aop test-->
 <bean id="myPointcutAdvisor" class="org.springframework.aop.support.RegexpMethodPointcutAdvisor">
  <property name="advice">
   <ref local="MyInterceptor"/>
  </property>
  <property name="patterns">
   <list>
    <value>.*do.*</value>
    <value>.*execute.*</value>
   </list>
  </property>
 </bean>
 <!-- user by PointcutAdvisor -->
 <bean id="MyInterceptor" class="srx.test.interceptor.MethodTimeCostInterceptor"></bean>
 <!-- proxy factory user by Actoin -->
 <bean id="myAOPProxyFactory" class="org.springframework.aop.framework.ProxyFactoryBean">
  <property name="proxyInterfaces">
   <value>srx.test.interfaces.ITest</value>
  </property>
  <property name="target">
   <ref local="test"/>
  </property>
  <property name="interceptorNames">
   <value>myPointcutAdvisor</value>
  </property>
 </bean>
 <!-- the dao bean be proxyed-->
 <bean id="test" class="srx.test.impl.test"></bean>

 

 2,struts-config.xml

<!-- AOP test , this is a action call two function ,and pring every method proced cost time-->
  <action path="/methodcost" type="srx.test.struts.action.AOPMethodCostTimeAction">
    <forward name="success" path="/WEB-INF/jsp/srx/test/aop/success.jsp"/>
  </action>

使用动态代理,我本来有ITest接口,及其实现类test。以及使用test的Action。现在,我想测试test

种方法的调用时间,我需要怎么做呢?

我只需要多定义三个Bean,myPointcutAdvisor,MyInterceptor,myAOPProxyFactory。

三者的依赖关系

myAOPProxyFactory [ myPointcutAdvisor MyInterceptor  ] ]

其中advice定义和具体的Spring advice类有关系。

待续。

posted on 2007-06-18 18:03 chenguo 阅读(152) 评论(0)  编辑  收藏 所属分类: Spring Dev


只有注册用户登录后才能发表评论。


网站导航:
 
<2024年12月>
24252627282930
1234567
891011121314
15161718192021
22232425262728
2930311234

导航

统计

留言簿

随笔分类(1)

文章分类(52)

好友 小山的博客

最新随笔

最新评论