osh*_*hai 1 java provider guice
我希望在课堂上有一个提供者成员,当'get'调用时,每次都会给我一个新对象.我怎样才能做到这一点?
public class GuiceInjectionTest
{
@Inject
Provider<MyClass> provider;
public Provider<MyClass> get()
{
//I want a new instance every time here that is injected by guice
return provider.get()
}
}
Run Code Online (Sandbox Code Playgroud)
注意我希望这个新实例由Guice注入,所以我不能new MyClass()在提供者实现中创建一个.
Col*_*inD 10
虽然@ GuillaumePolet的解决方案可行,但它并不是首选的方法.绑定MyClass是正确的,但你不应该Injector为此注入(你应该避免注入Injector一般).
对于您可以注射的任何类型,Guice可以自动注入Provider该类型.所以你应该做的是:
@Inject
Provider<MyClass> provider;
...
return provider.get();
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1996 次 |
| 最近记录: |