在Spring Framework 3 MVC中初始化单例

时间:2012-01-11 19:07:30

标签: spring spring-mvc singleton

我正在编写基于Spring 3.1.0 MVC的应用程序。问题是:我想将一些对象放在单个对象(当前HttpServletRequestHttpSevletResponse)中,以便在其他对象(Spring Controllers)中使用它们。但是不能这样做。我尝试扩展DispatcherServlet,覆盖doServicedoDispatch。还试图实现自己的HandlerInterceptor。没有结果。

我在哪里可以初始化我的单例对象? Spring Frameworks的入口点和破坏点(即init()destroy()方法或生命周期)在哪里?

1 个答案:

答案 0 :(得分:1)

当前HttpServletRequestHttpServletResponse可用作控制器方法的方法参数:

@RequestMapping("/foo")
public String foo(HttpServletRequest request) {

}

我相信你也可以在你的控制器中@Inject。将注入代理,每次引用它们时,将使用当前代理。 (我不是100%肯定这个)

第三种选择是使用RequestContextHolder容器,并从那里获取所有内容。