论坛首页 Java企业应用论坛

关于 DefaultAdvisorAutoProxyCreator 自动代理

浏览 4662 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2007-10-01  

用的是ssh架构~
模块要实现的功能是:跟踪用户的操作信息.比如,用户当前正在创建新的文章等等.然后现在用Spring的AOP实现.
用的是DefaultAdvisorAutoProxyCreator 自动代理,项目中的action很多,项目也比较大,所以思前想后,就选这个.

然后结合了RegexpMethodPointcutAdvisor,用拦截方法的办法!(因为是初学,所以可能很多地方表达不正确)
applicationContext.xml里头的这部分配置:

xml 代码
  1. <bean id="abeforeAdvisor"   class="com.csc.callcenter.util.ActionBeforeAdvisor">bean>     
  2.    <bean id="aafterAdvisor"  class="com.csc.callcenter.util.ActionAfterAdvisor">bean>     
  3.    <bean id="autoProxyCreator" class="org.springframework.aop.framework.autoproxy.DefaultAdvisorAutoProxyCreator">     
  4.    bean>     
  5.     <bean id="beadvisor" class="org.springframework.aop.support.RegexpMethodPointcutAdvisor">     
  6.     <property name="pattern">     
  7.       <value>.*doAction.*value>       
  8.     property>     
  9.     <property name="advice">     
  10.       <ref bean="abeforeAdvisor"/>     
  11.     property>     
  12.   bean>     
  13.    <bean id="afadvisor" class="org.springframework.aop.support.RegexpMethodPointcutAdvisor">     
  14.     <property name="pattern">     
  15.       <value>.*doAction.*value>       
  16.     property>     
  17.     <property name="advice">     
  18.       <ref bean="aafterAdvisor"/>     
  19.     property>     
  20.   bean>     
  21.    <bean id="onlineAction"   class="com.csc.callcenter.web.onlineinfo.OnlineAction">bean>     
  22.    <bean id="userInfoAction"  class="com.csc.callcenter.web.onlineinfo.UserInfoAction">bean>    


        但是这样,有一个问题,每个aciton 都要在这里配置好,系统初始化的时候,需要getBean("xxxx"),来获得配置里头的bean的信息.我们项目经理说,这样的方法不太好,偶也想寻求更好的办法!不知道有没有更好的解决方法?

       (本来这文字下班时候就敲好了,等偶要提交的时候,老PA 把网络电源给切了,结果到现在才发上来.估计大家都过国庆去了,哎!)

 

 

   发表时间:2007-10-04  
action在哪儿被调用?什么地方用了getBean("xxxx"),就搞一个自己的Factory嘛...
0 请登录后投票
   发表时间:2007-10-04  
自动代理更适合用在业务对象上,增强action?这个有什么意义?
action很难抽象出一个切面来。
action是直接处理request的,
如果你的service层是个facade,只要控制好接口的粒度,把你的要求放在业务对象上应该没问题
0 请登录后投票
   发表时间:2007-10-06  

lz726 写道:

,而且调用的时候,也要每次都getBean("xxxx").

 

 

请问你这个必须都getBean("xxxx")是怎么回事?Spring的IoC你没有理解还是另有隐情?





0 请登录后投票
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics