Spring请求范围豆种群

时间:2016-04-26 12:10:02

标签: java spring spring-mvc dependency-injection request

我正在开发一个具有自定义RequestContext类的应用程序。到目前为止,我们在REST控制器中获取此RequestContext,如下所示:

@RequestMapping(value = {"/init", "/"}, method = RequestMethod.GET)
public Toto accueil(RequestContext rc) {
  ..
}

我想将此类声明为"请求范围"并且能够将其注入其他bean中,所以我添加了

@Scope(value = "request", proxyMode = ScopedProxyMode.TARGET_CLASS)
@Component

调试时,我正在使用@Autowire,我看到spring根据请求创建了一个新实例。问题是他没有自动填充我的bean,所有值都为null。

如何告诉spring使用真实HttpRequest中的适当值初始化此请求范围的bean?

编辑:刚刚发现目前有一个 HandlerMethodArgumentResolver 在控制器方法调用中填充对象。我希望做类似的事情,但这适用于每个请求。

1 个答案:

答案 0 :(得分:0)

根据我的描述,您可以使用Filter,并在doFilter函数中使用请求中的适当值初始化请求范围的bean。