Chinaunix首页 | 论坛 | 博客
  • 博客访问: 2292469
  • 博文数量: 252
  • 博客积分: 5472
  • 博客等级: 大校
  • 技术积分: 3107
  • 用 户 组: 普通用户
  • 注册时间: 2011-09-17 18:39
文章分类

全部博文(252)

文章存档

2012年(96)

2011年(156)

分类: Java

2012-01-09 14:45:10

Struts+Spring架构 这种整合的一个主要的优点就是可以将Spring的AOP拦截器应用于Struts动作 通过将Spring拦截器应用于Struts动作 可以使用最小的代价处理横切关注点
 
1 创建日志拦截器
作用:它在被拦截的每一个方法调用之前打印一句话 即before()方法在拦截点中每个方法之前运行
  1. package com.demo.spring.aop;

  2. import org.springframework.aop.MethodBeforeAdvice;

  3. import java.lang.reflect.Method;

  4. public class LoggingInterceptor implements MethodBeforeAdvice {

  5.     public void before(Method method, Object[] objects, Object o)
  6.             throws Throwable {
  7.         System.out.println("logging before: " + o.getClass());
  8.     }
  9. }

 

2  注册日志拦截器

要使用该拦截器 需要在applicationContext.xml中定义该拦截器的对象

 

  1. <!-- 配置拦截器 -->
  2.     <bean name="logger" class="com.demo.spring.aop.LoggingInterceptor" />

 

3  声明在何处进行拦截

要让拦截器实现拦截功能 需要为改拦截器配置一个代理BeanNameAutoProxyCreator 它描述如何应用拦截器

通过这个来实现拦截器与拦截对象的绑定

 

  1. <!-- 配置拦截器代理 -->
  2.     <bean name="loggingAutoProxy"
  3.         class="org.springframework.aop.framework.autoproxy.BeanNameAutoProxyCreator">
  4.         <property name="beanNames">
  5.             <list>
  6.                 <value>/login</value>
  7.                 <value>/register</value>
  8.             </list>
  9.         </property>
  10.         <property name="interceptorNames">
  11.             <list>
  12.                 <value>logger</value>
  13.             </list>
  14.         </property>
  15.     </bean>

 

 

阅读(8463) | 评论(1) | 转发(2) |
给主人留下些什么吧!~~

十七岁的回忆2012-01-10 22:56:17

before()就可以拦截了是吧?~