-1
做我有下面的构造吉斯绑定不@Named标注
@Inject
public MyClass(Provider<TestClass> testProvider, @Named("myName") String name) {
//constructor stuff
}
我的模块:
@Provides
@Named("myName")
public String getName(SomeObject object) {
return object.getName();
}
的问题是,吉斯没有做绑定。
现在,如果我删除@Named
注释,它的工作原理。成功调用getName()
方法。虽然添加@Named
注释时,getName()
永远不会被调用,并且我的构造函数最终被注入一个空字符串。
我的方法中只有一个用@Provides
注解返回String
,但我仍然想给它起个名字,因为String
是一个很常见的可以注入的对象。
我也曾尝试configure()
方法中的结合(按照文件,但仍没有
任何人都知道我错过了什么,我检查了文档无济于事
EDIT?:我敢肯定,我的进口都正确
您拥有的代码看起来非常合理;你正确使用'Named'。你是否100%肯定这不是一个陈旧的构建工件或未保存的文件的情况? –
只需仔细检查你的'Named'注解的输入。 –
这些是我的进口产品: 'import com.google.inject.name.Named;' 非常奇怪。我要去尝试一些更多的疑难解答。可能是我的环境有问题 – Tiberiu