我有一个使用辅助注入创建的类(WindowedCounter)。我需要将此类的工厂注入方法拦截器。现在方法拦截器只能绑定到具体实例。所以我的问题是如何巧妙地做到这一点。
下面的代码是我到目前为止想出的。我为工厂创建了一个工厂提供程序,并使用它在模块本身中获取工厂实例。然后将其绑定到两个类并用于获取绑定到拦截器的实例。但是,从 Guice 3.0 开始,FactoryProvider 类已被贬低。
Guice 3.0 的做法是什么?
我可以在模块中注入实例吗?
Provider<WindowedCounterFactory> wCountFactoryProvider = FactoryProvider.newFactory(WindowedCounterFactory.class, WindowedCounter.class);
bind(WindowedCounterFactory.class).toProvider(wCountFactoryProvider);
WindowedCounterFactory wCountFactory = wCountFactoryProvider.get();
bindInterceptor(Matchers.any(), Matchers.annotatedWith(RateLimited.class), new RateLimitingInterceptor(wCountFactory));