4
我在我的应用程序结合的类型的两个命名实例:使用命名的注释与吉斯提供商
bind(Foo.class).toProvider(FooProvider.class);
bind(Foo.class).annotatedWith(Names.named("prime")).toProvider(FooPrimeProvider.class);
我有想用每一个实例的类。由于技术原因,这个类不能直接注入的情况下,一定要注提供商的实例:
class Bar {
@Inject static Provider<Foo> fooProvider;
@Inject @Named("prime") static Provider<Foo> fooPrimeProvider; // WRONG!
}
的问题是,FooPrime注入上述未注射名为“素”的实例,它是注射供应商命名为“素数”,这当然不是我想要的。
我该如何告诉Guice为名为“prime”的Foo实例注入提供者?
难道是行为不端?这看起来应该像你想要的那样工作。 – 2013-02-13 00:29:52