В чем разница между привязкой к экземпляру и asEagersingleton? - PullRequest
0 голосов
/ 02 апреля 2019

Когда мы делаем

bind(ClassName).toInstance(new ClassName()) внутри метода configure мы по сути имеем в виду, что он по умолчанию является «инициализированным синглтоном»?

Если да, какая польза от добавления

bind(ClassName).toInstance(new ClassName()).asEagerSingleton()

1 Ответ

2 голосов
/ 03 апреля 2019

Невозможно добавить .asEagerSingleton()

полная подпись toInstance выглядит следующим образом:

void toInstance(T instance)

Поскольку toInstance(T) ничего не возвращает, вы не можете связать это с помощью .asEagerSingleton(). Компиляция не удастся, если вы это сделаете.

Как вы и подозревали, toInstance - это уже загруженный синглтон, поэтому он является методом окончания цепочки (void), а не объявлением привязки, которое можно расширить в дальнейшем.

...