Так что я пытаюсь расширить Guice с некоторыми примечаниями на моем довольно много после большой статьи я нашел здесь: http://developer.vz.net/2012/02/08/extending-guice-2/Расширения Guice - guicy путь
Это работает очень хорошо для меня, кроме вещи:
Теперь в моем модуле я один экземпляр из этих сервисов:
final SchedulerService schedulerService = new SchedulerService();
А вот скрытое зло. Этот парень был достаточно удачлив, ему нужен простой объект без каких-либо зависимостей. Но в моем случае моим Service
нужна ссылка на еще две под-услуги. И так как он использовал new
для создания Service
, мне нужно использовать new
для обоих подсервисов, поэтому я смогу его создать. Поэтому я не могу вводить некоторые свойства в эти подсервисы. Фактически я создаю цельное объектное поддерево, которое не определено.
Есть ли способ вокруг него? Могу ли я позволить Guice создать экземпляр Service
для меня, а затем зарегистрировать его в TypeListener
?
Большое спасибо за усилия. Actaully Я столкнулся с той же мыслью, когда думал об этом позже вчера. Лучшим был бы новый модуль с отдельным инжектором. Я не знал о «childInjector», хотя это делает его понятным и чистым. Будем стараться и соглашаться скоро с надеждой! –