У меня есть Injector
экземпляра a
, и я хотел бы создать еще один Injector b
, который делает то же самое, как a
, для двух переплетов, которые получают переопределяются Module
я обеспечиваю за исключением. Это возможно?Guice переопределить некоторые привязки в существующем инжекторе
Я знаю около Modules.override
, но это не принимает Injector
как аргумент. Если бы можно было преобразовать Injector
в Module
, это решило бы мою проблему.
Спасибо за подсказку. Я дам ему попробовать. Один комментарий: я не думаю, что OP использовал «сложные привязки». То, что он описывал, было именно тем, что можно было бы сделать в модульном тесте. Тестирование модулей наиболее эффективно, когда вы можете выборочно переопределять части вашей системы. То есть вы хотели бы привязки по умолчанию на месте и простой механизм для переопределения одного или двух во время выполнения. Это стандартная TDD. Я новичок в Guice, и, может быть, я чего-то не хватает. Однако я вижу, что многие разработчики задают похожие вопросы, и я разочарован тем, что Guis не делает эту простую функциональность доступной. – EJK
@EJK 'Modules.override' - это конкретный и лучший способ переопределить для модульного тестирования, если вам нужно вводить единичный тест, и мой сложный ответ был в ответ на общий характер вопроса и конкретное избегание 'Modules.override'. Переопределение инжектора вместо модуля - это похоже на то, чтобы сделать омлет из безе, а не из яиц - необработанный вход дает лучшие результаты. –
Спасибо за разъяснение. Теперь я вижу ваш момент. Я бы хотел, чтобы документы Guice/RoboGuice были более понятны. Кажется, в этой теме очень много путаницы. – EJK