读书人

spring拦截器学习总结

发布时间: 2012-11-01 11:11:31 作者: rapoo

spring拦截器学习小结

为了实现网站的日志管理,研究了几天的spring事务管理终于OK了!两种方法

方法一:实现对目标类进行拦截(对于有接口的类,使用的是Java内部类提供的Proxy;而对于那些不实现接口的类,使用的是cglib库)

xml 代码
  1. <!--?Bean?configuration?-->????<bean?id="businesslogicbean"??
  2. ???class="org.springframework.aop.framework.ProxyFactoryBean">???????<property?name="proxyInterfaces">??
  3. ????????<value>IBusinessLogic</value>???????</property>??
  4. ?????<property?name="target">??????????<ref?local="beanTarget"/>??
  5. ?????</property>???????<property?name="interceptorNames">??
  6. ????????<list>?????????????<value>theAroundAdvisor</value>??
  7. ????????</list>??????????</property>??
  8. ??</bean>????<!--?Bean?Classes?-->??
  9. ??<bean?id="beanTarget"?????class="com.safetys.service.UserService"/>??
  10. ????<!--?Advisor?pointcut?definition?for?around?advice?-->??
  11. ??<bean?id="theAroundAdvisor"????????class="org.springframework.aop.support.RegexpMethodPointcutAdvisor">??
  12. ?????<property?name="advice">??????????<ref?local="theAroundAdvice"/>??
  13. ?????</property>???????<property?name="pattern">??
  14. ????????<value>.*</value>???????</property>??
  15. ??</bean>??? ??
  16. ??<!--?Advice?classes?-->????<bean?id="theAroundAdvice"??
  17. ??????class="com.safetys.iface.TestBeforeAdvice"/>??

?

方法二:拦截ACTION(我现在用的就是这方法)

xml 代码
  1. <bean?id="actionBeanNameProxyCreator"?? ??class="org.springframework.aop.framework.autoproxy.BeanNameAutoProxyCreator">?? ??
  2. <property?name="beanNames"><value>*Action</value></property>?? ??<property?name="interceptorNames">?? ??
  3. <list>?? ??<value>theBeforeAdvice</value>?? ??
  4. </li?st>?? ??</property>?? ??
  5. </bean>? ??<bean?id="theBeforeAdvice"?class="com.safetys.iface.TestBeforeAdvice"/>?

读书人网 >软件架构设计

热点推荐