gpt4 book ai didi

java - Guice:使用@Named 注入(inject)映射绑定(bind)

转载 作者:行者123 更新时间:2023-11-30 11:01:24 25 4
gpt4 key购买 nike

我想要以下注入(inject)模型。 Guice 可以做到这一点吗?

模块:

protected void configure() {
MapBinder<String, IService> mapBinder = MapBinder.newMapBinder(binder(), String.class, IService.class);
mapBinder.addBinding("keyA").to(IServiceA.class);
mapBinder.addBinding("keyB").to(IserviceB.class);
}

类:

class SomeClass {
private final IService service;

@Inject
SomeClass(@Named("KeyA") final IService serviceInstance) {
this.service = serviceInstance;
}
}

最佳答案

@Named 注释必须添加到方法的参数上。

class SomeClass {
private final IService service;

@Inject
SomeClass(@Named("KeyA") final IService serviceInstance) {
this.service = serviceInstance;
}
}

https://github.com/google/guice/wiki/Injections#method-injection

关于java - Guice:使用@Named 注入(inject)映射绑定(bind),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31220360/

25 4 0