Области:
Области позволяют вам управлять жизненным циклом объекта.
Вы можете только bindScope()
аннотацию области действия один раз,Концепция области действия - уровень инжектора: это конфигурация проводки.
Вы можете связать несколько вещей (ключей) в единую область.
Вы можете определить столько областей, сколько пожелаете, но каждая привязка может быть только в одной области действия.
Вы не предоставили полную информацию о своей проблеме, но, по моему опыту,в большинстве случаев, когда пользовательская область видимости изначально является правильным ответом, на самом деле это редко бывает!
Возможно, вам нужно аннотировать два экземпляра одного типа?Что-то вроде:
bind(SomeService.class).in(First.class).to(FirstServiceImpl.class);
bind(SomeService.class).in(Second.class).to(SecondServiceImpl.class);
Затем вы можете ввести желаемое:
@Inject
SomeConstructor(@First SomeService service) {
}
или:
@Inject
SomeConstructor(@Second SomeService service) {
}
Если это не поможет, вы можетенужно дать более подробную информацию о вашей проблеме.