Аннотация Guice @Nullable

В моем сервисе есть защищенный конструктор с @Inject и одним из параметров (поставщиком) @Nullable. Любые идеи, почему я получаю

com.google.inject.CreationException: Guice creation errors:
1) No implementation for [[service]] was bound.

? Guice 3.0pre1, @Nullable наш.


person seminolas    schedule 03.02.2011    source источник
comment
@Nullable никоим образом не применяется, это примечание для читателя или инструменты анализа кода. См. раздел stackoverflow.com/questions/14076296/nullable-annotation-usage.   -  person David Gladfelter    schedule 08.06.2015
comment
@DavidGladfelter на самом деле Guice не возражает против @Nullable github.com/google/guice/wiki/UseNullable   -  person orsg    schedule 02.02.2016


Ответы (1)


@Nullable не то же самое, что @Inject(optional=true)... Я думаю, что если вы хотите внедрить null, вам нужно bind(Service.class).toProvider(Providers.<Service>of(null)) или каким-либо иным образом привязать какой-то провайдер, который может вернуть null.

person ColinD    schedule 03.02.2011