我们如何在 Guice 中使用非单例 servlet 或处理程序,例如,我想为每个请求创建新实例并在处理请求后立即将其销毁或将其提供给垃圾收集器。
我不想将 ii 作为单例保存在内存中,也不想重用于其他未来的请求。
我认为可能以某种方式通过使用 bind() 函数,
RGDS
我们如何在 Guice 中使用非单例 servlet 或处理程序,例如,我想为每个请求创建新实例并在处理请求后立即将其销毁或将其提供给垃圾收集器。
我不想将 ii 作为单例保存在内存中,也不想重用于其他未来的请求。
我认为可能以某种方式通过使用 bind() 函数,
RGDS
你试过@SessionScoped 吗?
我通常使用具有范围的提供程序方法,因此您的代码看起来像
public class FooModule extends AbstractModule {
@Override protected void configure() {
// set up bindings
}
@Provides
@RequestScoped
PerRequestObject providePerRequestObject() {
return new PerRequestObject(...);
}
}
一定要安装ServletModule
和设置,GuiceFilter
否则这将不起作用!