0

我们如何在 Guice 中使用非单例 servlet 或处理程序,例如,我想为每个请求创建新实例并在处理请求后立即将其销毁或将其提供给垃圾收集器。

我不想将 ii 作为单例保存在内存中,也不想重用于其他未来的请求。

我认为可能以某种方式通过使用 bind() 函数,

RGDS

4

2 回答 2

1

你试过@SessionScoped 吗?

于 2012-09-06T21:42:01.627 回答
1

您想使用 RequestScope

我通常使用具有范围的提供程序方法,因此您的代码看起来像

public class FooModule extends AbstractModule {
  @Override protected void configure() {
    // set up bindings
  }

  @Provides
  @RequestScoped
  PerRequestObject providePerRequestObject() {
    return new PerRequestObject(...);
  }
}

一定要安装ServletModule设置,GuiceFilter否则这将不起作用!

于 2012-09-06T22:57:25.523 回答