-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