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