gpt4 book ai didi

guice - 将命名注释与 Guice 提供程序一起使用

转载 作者:行者123 更新时间:2023-12-04 14:47:02 29 4
gpt4 key购买 nike

我的应用程序中绑定(bind)了两个类型的命名实例:

bind(Foo.class).toProvider(FooProvider.class);
bind(Foo.class).annotatedWith(Names.named("prime")).toProvider(FooPrimeProvider.class);

我有一个类(class)想使用每个类(class)的一个实例。由于技术原因,此类不能直接注入(inject)实例,它必须向实例注入(inject)提供程序:
class Bar {
@Inject static Provider<Foo> fooProvider;
@Inject @Named("prime") static Provider<Foo> fooPrimeProvider; // WRONG!
}

问题是上面的 FooPrime 注入(inject)没有注入(inject)一个名为“prime”的实例,而是注入(inject)了一个名为“prime”的 Provider,这当然不是我想要的。

如何告诉 Guice 为名为“prime”的 Foo 实例注入(inject)提供程序?

最佳答案

我刚刚写了一个测试,它完全符合您的要求:https://gist.github.com/jangalinski/4943871

关于guice - 将命名注释与 Guice 提供程序一起使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14839561/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com