【发布时间】:2015-06-01 17:22:13
【问题描述】:
我有一个使用 Guice 的自定义提供程序,下面有一些伪代码:
public class MyProvider implements Provider<String> {
public String get() {
System.out.println("Called MyProvider.get()");
return "abcd";
}
}
public class MyModule extends AbstractModule {
protected void configure() {
bind(String.class).toProvider(MyProvider.class);
}
}
public class MyManager {
private MyProvider<String> myProvider;
@Inject
public MyManager(Provider<String> myProvider) { this.myProvider = myProvider; }
}
有一个 MyManager 对象表示在 Guice 连接后我们将在未来构建什么。现在为了真正开始这个,我有点迷茫......
public static void main(String[] args) {
Injector injector = Guice.createInjector(new MyModule());
// not sure what to do here. This doesn't work but I thought it'd be something like this
MyManager mgr = new MyManager(injector.getProvider(MyProvider.class));
}
【问题讨论】: