Chinaunix首页 | 论坛 | 博客
  • 博客访问: 257725
  • 博文数量: 107
  • 博客积分: 305
  • 博客等级: 二等列兵
  • 技术积分: 417
  • 用 户 组: 普通用户
  • 注册时间: 2008-08-22 09:42
文章分类

全部博文(107)

文章存档

2014年(3)

2013年(41)

2012年(34)

2011年(28)

2008年(1)

分类:

2012-01-10 12:56:56

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>

 

 

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