Spring框架。为所有控制器设置代理

时间:2013-06-21 13:47:42

标签: spring spring-mvc aop spring-aop

如何在spring框架中为所有控制器设置代理? 我想改变控制器的返回表达式。

1 个答案:

答案 0 :(得分:1)

我将假设您正在使用Spring MVC 3. *和XML配置。如果不是这样,请告诉我,我会相应地更新我的答案。

Spring MVC提供HandlerInterceptor接口,可用于所有控制器处理的前后处理请求。我建议您创建和实现此接口,并使用postHandle()方法相应地更改控制器的输出。

完成HandlerInterceptor实现后,您需要指示Spring MVC使用它。 Spring MVC的命名空间配置使这很容易。举个例子:

<mvc:interceptors>
        <mvc:interceptor>
            <mvc:mapping path="/**"/>
            <bean class="com.example.MyInterceptor" />
        </mvc:interceptor>
</mvc:interceptors>

在这个例子中,我正在注册一个由com.example.MyInterceptor类实现的HandlerInterceptor。我还配置Spring MVC以使HandlerInterceptor实现适用于所有请求。您当然可以更改映射以满足您的应用程序需求。