Struts+Spring架构 这种整合的一个主要的优点就是可以将Spring的AOP拦截器应用于Struts动作 通过将Spring拦截器应用于Struts动作 可以使用最小的代价处理横切关注点
1 创建日志拦截器
作用:它在被拦截的每一个方法调用之前打印一句话 即before()方法在拦截点中每个方法之前运行
- package com.demo.spring.aop;
- import org.springframework.aop.MethodBeforeAdvice;
- import java.lang.reflect.Method;
- public class LoggingInterceptor implements MethodBeforeAdvice {
- public void before(Method method, Object[] objects, Object o)
- throws Throwable {
- System.out.println("logging before: " + o.getClass());
- }
- }
2 注册日志拦截器
要使用该拦截器 需要在applicationContext.xml中定义该拦截器的对象
- <!-- 配置拦截器 -->
- <bean name="logger" class="com.demo.spring.aop.LoggingInterceptor" />
3 声明在何处进行拦截
要让拦截器实现拦截功能 需要为改拦截器配置一个代理BeanNameAutoProxyCreator 它描述如何应用拦截器
通过这个来实现拦截器与拦截对象的绑定
- <!-- 配置拦截器代理 -->
- <bean name="loggingAutoProxy"
- class="org.springframework.aop.framework.autoproxy.BeanNameAutoProxyCreator">
- <property name="beanNames">
- <list>
- <value>/login</value>
- <value>/register</value>
- </list>
- </property>
- <property name="interceptorNames">
- <list>
- <value>logger</value>
- </list>
- </property>
- </bean>
阅读(8534) | 评论(1) | 转发(2) |