7
私はGuice Module
を提供しています。List<String>
には@Provides
のノンフィクションの方法が使用されています。Kotlin&Guiceで一般的なインスタンスを提供
class TestModule() : Module {
override fun configure(binder: Binder) {}
@Provides fun getStrings(): List<String> = listOf("foo", "bar")
}
class Test {
@Test fun `provider can not deliver`() {
val injector = Guice.createInjector(TestModule())
injector.getInstance(object : Key<List<String>>() {})
}
}
テストは、しかし、で失敗します。
今1) No implementation for java.util.List<? extends java.lang.String> was bound.
while locating java.util.List<? extends java.lang.String>
、これはthis questionと同じのようですが、私はどこ@JvmSuppressWildcards
注釈を追加するには考えています。 getStrings()
メソッドに追加すると、getInstance()
コールのobject
に追加されるように、何も変更されません。私はGuiceに私が欲しいものをするようにするにはどうしますか?
同じように非常に驚いているのは、アノテーションが属する場所です –