Скажем, у меня есть два приложения, которые используют одну и ту же библиотеку. Эта библиотека содержит общие классы, такие как DAO, Utils и т.д. Все в общей библиотеке связано с Guice. Мои два приложения зависят от этой библиотеки, но не имеют прямой зависимости от Guice.
______ ______ ______
| | | | | |
| APP1 |->| LIB |<-| APP2 |
'------' '------' '------'
В настоящее время я использую что-то вроде этого:
static <T> Utils.getInstanceOf (Class<T> type);
который является просто оболочкой для:
injector.getInstance (Class<T> type);
Но в письме говорится:
Когда это возможно, избегайте использования этого метода в пользу наличия Guice заблаговременно вводите ваши зависимости.
Итак, что лучший способ обеспечить инъекцию зависимостей для двух приложений без необходимости вручную связывать их в модуле Guice?