gpt4 book ai didi

java - "Inheriting"Guice 中从一个提供者到另一个提供者的注释

转载 作者:行者123 更新时间:2023-12-01 04:56:28 26 4
gpt4 key购买 nike

假设我有两个类。

class A { ... }
class B {
public B(A a) {...}
}

我想创建一个模块,该模块获取名称并需要为带注释的 B 创建绑定(bind):

class MyModule extends AbstractModule {
String name;
public MyModule(String name) { this.name = name; }

public void configure() {
// CREATE BINDING for @Named(name)B which depends on @Named(name)A
}
}

为 B(或其提供者)创建依赖于正确 A 的绑定(bind)的最佳方式是什么?

谢谢亚龙

最佳答案

这个怎么样:

bind(B.class).annotatedWith(Names.named("name")).toProvider( new Provider<B>() {

private A namedA;

@Inject
public void setNamedA(@Named("name") A namedA ) {
this.namedA = namedA;
}

@Override
public B get() {
return new B( namedA );
}

} );

它应该根据文档工作,尽管我还没有测试过。

关于java - "Inheriting"Guice 中从一个提供者到另一个提供者的注释,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14039087/

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