您好,欢迎来到六九路网。
搜索
您的当前位置:首页spring-mvc-aop拦截Controller

spring-mvc-aop拦截Controller

来源:六九路网
项目背景:

再将对象转化为json返回给客户端的时候,为了节约网络流量,只返回给客户端指定的字段,于是考虑做一个通用的拦截器,由于controller最终返回的值与service可能不一致,所以这个拦截器不能坐在service上面,需要坐在controller上面。而拦截controller可以使用filter、spring interceptor、spring aop等技术,由于前两种是基于request与response做的拦截,对于我们这个需求不太合适,所以决定采用aop进行拦截controller。

项目结构: spring-mvc 4.0.3 + mybaties3.2.7 (annotation-driven)

发现问题: 按照通常的方法写了aop并进行配置,发现不起效果,如下代码: 这是aop类:

@Aspect

public class ControllerAspect {

@Before(\"execution(* com.test.ww.controller..*.*(..))\") public void beforeIntercept(){

System.out.println(\"before interceptor\"); }

@Around(\"execution(* com.test.ww.controller..*.*(..))\") public Object doAround(ProceedingJoinPoint pjp){

System.out.println(\"hello sb ````````````````````\"); try {

Object obj = pjp.proceed();

System.out.println(\"hello sb ``````I am well done``````````````\"); return obj;

} catch (Throwable e) { e.printStackTrace(); }

return null; } }

下面是在applicationContext.xml里面的配置:

然后重新启动项目,发现不行,压根没有拦截到。

解决办法: 这段代理的配置需要配置在fc-servlet.xml里面, 所以把上面这段配置挪到fc-servlet.xml里面,重启,ok。

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- 69lv.com 版权所有 湘ICP备2023021910号-1

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务