Использование Guice в качестве библиотеки внедрения зависимостей в приложении ZIO

Мы работаем над переносом нашего Play! заявление в ЗИО. В качестве первого шага мы проверяем, можем ли мы использовать Google Guice в качестве библиотеки внедрения зависимостей в ZIO, чтобы изменения были минимальными. Это упоминается здесь, но я не нашел в Интернете ресурса, который подробно описывал бы шаги с каким-либо примером.

Любое руководство/ссылка будет высоко оценено.

1 ответ

Вы можете использовать Guice так же, как и раньше. В конечном итоге вы получите интерфейсы, которые будут возвращать эффекты ZIO вместо Futures.

Проблема в том, что если вы планируете использовать ZIO HTTP и другие связанные библиотеки ZIO, вы обнаружите, что они раскрывают свою функциональность через ZLayers (например, HTTP-сервер ZIO), поэтому вам придется манипулировать как слоями, так и модулями Guice. Я настоятельно рекомендую сформулировать ZLayers из существующих модулей Guice перед переходом на ZIO HTTP.

Я рекомендую заглянуть на https://www.youtube.com/watch?v=9fr4pWIG-Tw от DevInsideYou для вдохновения — он демонстрирует, как заставить ZIO работать с Play, что является хорошим промежуточным шагом.

Другие вопросы по тегам